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 b5e64a8ce23..a6036891831 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 @@ -2745,6 +2745,1088 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI public void testSetterVisibliityWithJava() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicNullabilityAnnotationOverride.kt") + public void testBasicNullabilityAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt"); + } + + @Test + @TestMetadata("intersectionNullabilityAnnotation.kt") + public void testIntersectionNullabilityAnnotation() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt"); + } + + @Test + @TestMetadata("kotlinCustomAnnotationOverride.kt") + public void testKotlinCustomAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt"); + } + + @Test + @TestMetadata("nullabilityAnnotationOverrideOnComplexHierarchy.kt") + public void testNullabilityAnnotationOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("platformAnnotationOverride.kt") + public void testPlatformAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeArgumentAnnotationOverride.kt") + public void testTypeArgumentAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeParameterAnnotationOverride.kt") + public void testTypeParameterAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaCharSequenceOverride.kt") + public void testJavaCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt"); + } + + @Test + @TestMetadata("kotlinCharSequenceOverride.kt") + public void testKotlinCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionListOverrideKJJ.kt") + public void testIntersectionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionListOverrideKJK.kt") + public void testIntersectionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideKJ.kt") + public void testListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJJ.kt") + public void testListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJK.kt") + public void testListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideOnComplexHierarchy.kt") + public void testListOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("listOverrideOnKJKJ.kt") + public void testListOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJ.kt") + public void testSubstitutionListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJJ.kt") + public void testSubstitutionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJK.kt") + public void testSubstitutionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJKJ.kt") + public void testSubstitutionListOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionMapOverrideKJJ.kt") + public void testIntersectionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionMapOverrideKJK.kt") + public void testIntersectionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJJ.kt") + public void testIntersectionWithGenericMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJK.kt") + public void testIntersectionWithGenericMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("mapOverrideKJKJ.kt") + public void testMapOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnComplexHierarchy.kt") + public void testMapOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJ.kt") + public void testMapOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJJ.kt") + public void testMapOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("mapOverrrideOnKJK.kt") + public void testMapOverrrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJJ.kt") + public void testSubstitutionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJK.kt") + public void testSubstitutionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideOnKJKJ.kt") + public void testSubstitutionMapOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("sunstitutionMapOverrideKJ.kt") + public void testSunstitutionMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionSetOverrideKJJ.kt") + public void testIntersectionSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionSetOverrideKJK.kt") + public void testIntersectionSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJ.kt") + public void testSetOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJJ.kt") + public void testSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJK.kt") + public void testSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJKJ.kt") + public void testSetOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("setOverrideOnComplexHierarchy.kt") + public void testSetOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt"); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("dataClassMethodOverride.kt") + public void testDataClassMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("enumMethodOverride.kt") + public void testEnumMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaModifiersOverride.kt") + public void testJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinModifiersOverride.kt") + public void testKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicGenericMethodsOverride.kt") + public void testBasicGenericMethodsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt"); + } + + @Test + @TestMetadata("basicGenericWithBoundsOverride.kt") + public void testBasicGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("basicRawTypeOverride.kt") + public void testBasicRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt"); + } + + @Test + @TestMetadata("basicWilcardsOverride.kt") + public void testBasicWilcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnComplexHierarchy.kt") + public void testGenericMethodOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJJ.kt") + public void testGenericMethodOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJK.kt") + public void testGenericMethodOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnComplexHierarchy.kt") + public void testGenericWithBoundsOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJJ.kt") + public void testGenericWithBoundsOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJK.kt") + public void testGenericWithBoundsOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt"); + } + + @Test + @TestMetadata("intersectionGenericMethodOverride.kt") + public void testIntersectionGenericMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt"); + } + + @Test + @TestMetadata("intersectionGenericWithBoundsOverride.kt") + public void testIntersectionGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("intersectionRawTypeOverride.kt") + public void testIntersectionRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt"); + } + + @Test + @TestMetadata("intersectionWildcardsOverride.kt") + public void testIntersectionWildcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnComplexHierarchy.kt") + public void testRawTypeOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnKJJ.kt") + public void testRawTypeOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnComplexHierarchy.kt") + public void testWildcardsOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJJ.kt") + public void testWildcardsOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJK.kt") + public void testWildcardsOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJ.kt") + public void testGetterSetterOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJK.kt") + public void testGetterSetterOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideonComplexHierarchy.kt") + public void testGetterSetterOverrideonComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt"); + } + + @Test + @TestMetadata("getterSetterOvverideOnKJJ.kt") + public void testGetterSetterOvverideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt"); + } + + @Test + @TestMetadata("getterSetterOvverrideOnKJKJ.kt") + public void testGetterSetterOvverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideForGetterSetter.kt") + public void testIntersectionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt"); + } + + @Test + @TestMetadata("substitutionOverrideForGetterSetter.kt") + public void testSubstitutionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJJ.kt") + public void testSequenceCollectionIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJK.kt") + public void testSequenceCollectionIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceCollectionOverride.kt") + public void testSequenceCollectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapIntersectionOverrideKJJ.kt") + public void testSequenceMapIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceMapOverride.kt") + public void testSequenceMapOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapOverrideKJ.kt") + public void testSequenceMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJJ.kt") + public void testSequenceSetIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJK.kt") + public void testSequenceSetIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceSetOverride.kt") + public void testSequenceSetOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJJ.kt") + public void testIntersectionOverrideOnStaticKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJK.kt") + public void testIntersectionOverrideOnStaticKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnComplexHierarchy.kt") + public void testStaticOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJ.kt") + public void testStaticOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJJ.kt") + public void testStaticOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJK.kt") + public void testStaticOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJKJ.kt") + public void testStaticOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("kotlinExtensionsOverride.kt") + public void testKotlinExtensionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt"); + } + + @Test + @TestMetadata("memberExtensionOverride.kt") + public void testMemberExtensionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaModifiersOverride.kt") + public void testBasicJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinModifiersOverride.kt") + public void testBasicKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaModifiersOverride.kt") + public void testIntersectionJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinModifiersOverride.kt") + public void testIntersectionKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinFunParamModifiersOverride.kt") + public void testKotlinFunParamModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaThisOverride.kt") + public void testBasicJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinDefaultParametersOverride.kt") + public void testBasicKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaThisOverride.kt") + public void testIntersectionJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinDefaultParametersOverride.kt") + public void testIntersectionKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaNumberOverride.kt") + public void testJavaNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt"); + } + + @Test + @TestMetadata("kotlinNumberOverride.kt") + public void testKotlinNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicOperatorsOverride.kt") + public void testBasicOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOperatorsOverride.kt") + public void testIntersectionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt"); + } + + @Test + @TestMetadata("substitutionOperatorsOverride.kt") + public void testSubstitutionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicCollectionOverrideOnComplexHierarchy.kt") + public void testBasicCollectionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("basicCollectionsOverride.kt") + public void testBasicCollectionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt"); + } + + @Test + @TestMetadata("basicOverride.kt") + public void testBasicOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("combinationExplicitImlicitOverride.kt") + public void testCombinationExplicitImlicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnComplexHierarchy.kt") + public void testIntersectionOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOverride.kt") + public void testIntersectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnCollections.kt") + public void testIntersectionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("intersectionWithExplicitOverride.kt") + public void testIntersectionWithExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericExplicitOverride.kt") + public void testIntersectionWithGenericExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnComplexHierarchy.kt") + public void testIntersectionWithGenericOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOverride.kt") + public void testIntersectionWithGenericOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverride.kt") + public void testSubstitutionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnCollections.kt") + public void testSubstitutionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnComplexHierarchy.kt") + public void testSubstitutionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("baseOverrideOnNothing.kt") + public void testBaseOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt"); + } + + @Test + @TestMetadata("intersectionOverrrideOnNothing.kt") + public void testIntersectionOverrrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnNothing.kt") + public void testSubstitutionOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVarargOverride.kt") + public void testBasicVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnVarargOverride.kt") + public void testIntersectionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnVarargOverride.kt") + public void testIntersectionWithGenericOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt"); + } + + @Test + @TestMetadata("substitutionOnVarargOverride.kt") + public void testSubstitutionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJ.kt") + public void testAllPropertiesAndMethodsKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJJ.kt") + public void testAllPropertiesAndMethodsKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJK.kt") + public void testAllPropertiesAndMethodsKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJKJ.kt") + public void testAllPropertiesAndMethodsKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsWithSeparateModuleKJJ.kt") + public void testAllPropertiesAndMethodsWithSeparateModuleKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt"); + } + + @Test + @TestMetadata("internalOverrideCrossModule.kt") + public void testInternalOverrideCrossModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt"); + } + + @Test + @TestMetadata("internalOverrideWithFriendModule.kt") + public void testInternalOverrideWithFriendModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt"); + } + + @Test + @TestMetadata("internalWithPublishedApiOverride.kt") + public void testInternalWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJJ.kt") + public void testIntersectionVisibilityOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJK.kt") + public void testIntersectionVisibilityOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithPublishedApiOverride.kt") + public void testIntersectionWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithSeparateModule.kt") + public void testIntersectionWithSeparateModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt"); + } + + @Test + @TestMetadata("overrideKotlinMethodsKJKK.kt") + public void testOverrideKotlinMethodsKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt"); + } + + @Test + @TestMetadata("overridePropertiesKJKK.kt") + public void testOverridePropertiesKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt"); + } + + @Test + @TestMetadata("overrideSetAndGetKJK.kt") + public void testOverrideSetAndGetKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVoidOverride.kt") + public void testBasicVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt"); + } + + @Test + @TestMetadata("intersectionVoidOverride.kt") + public void testIntersectionVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt"); + } + } } @Nested 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 ed26be64135..1d76627e6c9 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 @@ -2745,6 +2745,1088 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest { public void testSetterVisibliityWithJava() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicNullabilityAnnotationOverride.kt") + public void testBasicNullabilityAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt"); + } + + @Test + @TestMetadata("intersectionNullabilityAnnotation.kt") + public void testIntersectionNullabilityAnnotation() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt"); + } + + @Test + @TestMetadata("kotlinCustomAnnotationOverride.kt") + public void testKotlinCustomAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt"); + } + + @Test + @TestMetadata("nullabilityAnnotationOverrideOnComplexHierarchy.kt") + public void testNullabilityAnnotationOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("platformAnnotationOverride.kt") + public void testPlatformAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeArgumentAnnotationOverride.kt") + public void testTypeArgumentAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeParameterAnnotationOverride.kt") + public void testTypeParameterAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaCharSequenceOverride.kt") + public void testJavaCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt"); + } + + @Test + @TestMetadata("kotlinCharSequenceOverride.kt") + public void testKotlinCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionListOverrideKJJ.kt") + public void testIntersectionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionListOverrideKJK.kt") + public void testIntersectionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideKJ.kt") + public void testListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJJ.kt") + public void testListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJK.kt") + public void testListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideOnComplexHierarchy.kt") + public void testListOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("listOverrideOnKJKJ.kt") + public void testListOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJ.kt") + public void testSubstitutionListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJJ.kt") + public void testSubstitutionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJK.kt") + public void testSubstitutionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJKJ.kt") + public void testSubstitutionListOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionMapOverrideKJJ.kt") + public void testIntersectionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionMapOverrideKJK.kt") + public void testIntersectionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJJ.kt") + public void testIntersectionWithGenericMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJK.kt") + public void testIntersectionWithGenericMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("mapOverrideKJKJ.kt") + public void testMapOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnComplexHierarchy.kt") + public void testMapOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJ.kt") + public void testMapOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJJ.kt") + public void testMapOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("mapOverrrideOnKJK.kt") + public void testMapOverrrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJJ.kt") + public void testSubstitutionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJK.kt") + public void testSubstitutionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideOnKJKJ.kt") + public void testSubstitutionMapOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("sunstitutionMapOverrideKJ.kt") + public void testSunstitutionMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionSetOverrideKJJ.kt") + public void testIntersectionSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionSetOverrideKJK.kt") + public void testIntersectionSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJ.kt") + public void testSetOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJJ.kt") + public void testSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJK.kt") + public void testSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJKJ.kt") + public void testSetOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("setOverrideOnComplexHierarchy.kt") + public void testSetOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt"); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("dataClassMethodOverride.kt") + public void testDataClassMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("enumMethodOverride.kt") + public void testEnumMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaModifiersOverride.kt") + public void testJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinModifiersOverride.kt") + public void testKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicGenericMethodsOverride.kt") + public void testBasicGenericMethodsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt"); + } + + @Test + @TestMetadata("basicGenericWithBoundsOverride.kt") + public void testBasicGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("basicRawTypeOverride.kt") + public void testBasicRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt"); + } + + @Test + @TestMetadata("basicWilcardsOverride.kt") + public void testBasicWilcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnComplexHierarchy.kt") + public void testGenericMethodOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJJ.kt") + public void testGenericMethodOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJK.kt") + public void testGenericMethodOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnComplexHierarchy.kt") + public void testGenericWithBoundsOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJJ.kt") + public void testGenericWithBoundsOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJK.kt") + public void testGenericWithBoundsOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt"); + } + + @Test + @TestMetadata("intersectionGenericMethodOverride.kt") + public void testIntersectionGenericMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt"); + } + + @Test + @TestMetadata("intersectionGenericWithBoundsOverride.kt") + public void testIntersectionGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("intersectionRawTypeOverride.kt") + public void testIntersectionRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt"); + } + + @Test + @TestMetadata("intersectionWildcardsOverride.kt") + public void testIntersectionWildcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnComplexHierarchy.kt") + public void testRawTypeOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnKJJ.kt") + public void testRawTypeOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnComplexHierarchy.kt") + public void testWildcardsOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJJ.kt") + public void testWildcardsOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJK.kt") + public void testWildcardsOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJ.kt") + public void testGetterSetterOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJK.kt") + public void testGetterSetterOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideonComplexHierarchy.kt") + public void testGetterSetterOverrideonComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt"); + } + + @Test + @TestMetadata("getterSetterOvverideOnKJJ.kt") + public void testGetterSetterOvverideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt"); + } + + @Test + @TestMetadata("getterSetterOvverrideOnKJKJ.kt") + public void testGetterSetterOvverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideForGetterSetter.kt") + public void testIntersectionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt"); + } + + @Test + @TestMetadata("substitutionOverrideForGetterSetter.kt") + public void testSubstitutionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJJ.kt") + public void testSequenceCollectionIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJK.kt") + public void testSequenceCollectionIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceCollectionOverride.kt") + public void testSequenceCollectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapIntersectionOverrideKJJ.kt") + public void testSequenceMapIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceMapOverride.kt") + public void testSequenceMapOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapOverrideKJ.kt") + public void testSequenceMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJJ.kt") + public void testSequenceSetIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJK.kt") + public void testSequenceSetIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceSetOverride.kt") + public void testSequenceSetOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJJ.kt") + public void testIntersectionOverrideOnStaticKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJK.kt") + public void testIntersectionOverrideOnStaticKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnComplexHierarchy.kt") + public void testStaticOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJ.kt") + public void testStaticOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJJ.kt") + public void testStaticOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJK.kt") + public void testStaticOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJKJ.kt") + public void testStaticOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("kotlinExtensionsOverride.kt") + public void testKotlinExtensionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt"); + } + + @Test + @TestMetadata("memberExtensionOverride.kt") + public void testMemberExtensionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaModifiersOverride.kt") + public void testBasicJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinModifiersOverride.kt") + public void testBasicKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaModifiersOverride.kt") + public void testIntersectionJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinModifiersOverride.kt") + public void testIntersectionKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinFunParamModifiersOverride.kt") + public void testKotlinFunParamModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaThisOverride.kt") + public void testBasicJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinDefaultParametersOverride.kt") + public void testBasicKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaThisOverride.kt") + public void testIntersectionJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinDefaultParametersOverride.kt") + public void testIntersectionKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaNumberOverride.kt") + public void testJavaNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt"); + } + + @Test + @TestMetadata("kotlinNumberOverride.kt") + public void testKotlinNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicOperatorsOverride.kt") + public void testBasicOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOperatorsOverride.kt") + public void testIntersectionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt"); + } + + @Test + @TestMetadata("substitutionOperatorsOverride.kt") + public void testSubstitutionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicCollectionOverrideOnComplexHierarchy.kt") + public void testBasicCollectionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("basicCollectionsOverride.kt") + public void testBasicCollectionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt"); + } + + @Test + @TestMetadata("basicOverride.kt") + public void testBasicOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("combinationExplicitImlicitOverride.kt") + public void testCombinationExplicitImlicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnComplexHierarchy.kt") + public void testIntersectionOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOverride.kt") + public void testIntersectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnCollections.kt") + public void testIntersectionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("intersectionWithExplicitOverride.kt") + public void testIntersectionWithExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericExplicitOverride.kt") + public void testIntersectionWithGenericExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnComplexHierarchy.kt") + public void testIntersectionWithGenericOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOverride.kt") + public void testIntersectionWithGenericOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverride.kt") + public void testSubstitutionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnCollections.kt") + public void testSubstitutionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnComplexHierarchy.kt") + public void testSubstitutionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("baseOverrideOnNothing.kt") + public void testBaseOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt"); + } + + @Test + @TestMetadata("intersectionOverrrideOnNothing.kt") + public void testIntersectionOverrrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnNothing.kt") + public void testSubstitutionOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVarargOverride.kt") + public void testBasicVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnVarargOverride.kt") + public void testIntersectionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnVarargOverride.kt") + public void testIntersectionWithGenericOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt"); + } + + @Test + @TestMetadata("substitutionOnVarargOverride.kt") + public void testSubstitutionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJ.kt") + public void testAllPropertiesAndMethodsKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJJ.kt") + public void testAllPropertiesAndMethodsKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJK.kt") + public void testAllPropertiesAndMethodsKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJKJ.kt") + public void testAllPropertiesAndMethodsKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsWithSeparateModuleKJJ.kt") + public void testAllPropertiesAndMethodsWithSeparateModuleKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt"); + } + + @Test + @TestMetadata("internalOverrideCrossModule.kt") + public void testInternalOverrideCrossModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt"); + } + + @Test + @TestMetadata("internalOverrideWithFriendModule.kt") + public void testInternalOverrideWithFriendModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt"); + } + + @Test + @TestMetadata("internalWithPublishedApiOverride.kt") + public void testInternalWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJJ.kt") + public void testIntersectionVisibilityOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJK.kt") + public void testIntersectionVisibilityOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithPublishedApiOverride.kt") + public void testIntersectionWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithSeparateModule.kt") + public void testIntersectionWithSeparateModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt"); + } + + @Test + @TestMetadata("overrideKotlinMethodsKJKK.kt") + public void testOverrideKotlinMethodsKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt"); + } + + @Test + @TestMetadata("overridePropertiesKJKK.kt") + public void testOverridePropertiesKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt"); + } + + @Test + @TestMetadata("overrideSetAndGetKJK.kt") + public void testOverrideSetAndGetKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVoidOverride.kt") + public void testBasicVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt"); + } + + @Test + @TestMetadata("intersectionVoidOverride.kt") + public void testIntersectionVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt"); + } + } } @Nested diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.ir.txt new file mode 100644 index 00000000000..c4437fca2bd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.ir.txt @@ -0,0 +1,174 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, s:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String + annotations: + NotNull(value = ) + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.String? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .A' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + VAR name:k3 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .B' type=kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .C' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.kt.txt new file mode 100644 index 00000000000..0415c1a97f7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.fir.kt.txt @@ -0,0 +1,64 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): String { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(s: String?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: String? = a.#nullableString + val k2: String? = a.bar() + a.foo(s = null) + a.foo(s = "") + val k3: String? = b.#nullableString + val k4: String = b.bar() + b.foo(s = null) + b.foo(s = "") + val k5: String = c.bar() /*!! String */ + c.foo(s = "") + val k6: String = d.bar() + d.foo(s = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.ir.txt new file mode 100644 index 00000000000..ce06bade081 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.ir.txt @@ -0,0 +1,184 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, s:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String + annotations: + NotNull(value = ) + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.String? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .A' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + VAR name:k3 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .B' type=kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .C' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt new file mode 100644 index 00000000000..5573dfc0511 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt @@ -0,0 +1,64 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +import org.jetbrains.annotations.Nullable; + +public class Java1 { + @Nullable + public String nullableString = ""; + @Nullable + public String bar() { + return nullableString; + } + public void foo(@Nullable String s) {} +} + +// FILE: Java2.java +import org.jetbrains.annotations.NotNull; + +public interface Java2 { + @NotNull + public String nullableString = ""; + @NotNull + public String bar(); + public void foo(@NotNull String s); +} + +// FILE: 1.kt + +class A : Java1() + +class B : Java1() { + override fun foo(s: String?) { } + override fun bar(): String { + return null!! + } +} + +abstract class C: Java2 + +class D : Java2 { + override fun bar(): String { + return "" + } + override fun foo(s: String) { } +} + + +fun test(a:A, b: B, c: C, d: D) { + val k: String? = a.nullableString + val k2: String? = a.bar() + a.foo(null) + a.foo("") + + val k3: String? = b.nullableString + val k4: String = b.bar() + b.foo(null) + b.foo("") + + val k5: String = c.bar() + c.foo("") + + val k6: String = d.bar() + d.foo("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt.txt new file mode 100644 index 00000000000..60d51aaf607 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt.txt @@ -0,0 +1,64 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): String { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(s: String?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: String? = a(super).#nullableString + val k2: String? = a.bar() + a.foo(s = null) + a.foo(s = "") + val k3: String? = b(super).#nullableString + val k4: String = b.bar() + b.foo(s = null) + b.foo(s = "") + val k5: String = c.bar() /*!! String */ + c.foo(s = "") + val k6: String = d.bar() + d.foo(s = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.sig.kt.txt new file mode 100644 index 00000000000..19dea58ee9f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.sig.kt.txt @@ -0,0 +1,101 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /A.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: A#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /A.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String + // Public signature: /B.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /C.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + abstract /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: C#foo(kotlin.String{EnhancedNullability}){} + // Public signature: /C.foo|-6237292312337226907[0] + // Public signature debug description: foo(kotlin.String{EnhancedNullability}){} + abstract /* fake */ override fun foo(s: @EnhancedNullability String): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.String + // Public signature: /D.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: D#foo(kotlin.String){} + // Public signature: /D.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(s: String): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.ir.txt new file mode 100644 index 00000000000..f6fcd59a26d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.ir.txt @@ -0,0 +1,498 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .A' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.A, s:kotlin.String) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR ': .D declared in .D.bar' type=.D origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + annotations: + NotNull(value = ) + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + annotations: + NotNull(value = ) + BLOCK_BODY + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .D declared in .D.foo' type=.D origin=null + s: GET_VAR 's: kotlin.String? declared in .D.foo' type=kotlin.String? origin=null + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, s:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String + annotations: + NotNull(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.String + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .F' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.F, s:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String [fake_override] + annotations: + NotNull(value = ) + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.String + PROPERTY name:nullableString visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .KotlinInterface' + CONST String type=kotlin.String value="" + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.String + annotations: + NotNull(value = ) + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, s:kotlin.String) returnType:kotlin.Unit + annotations: + NotNull(value = ) + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:s index:0 type:kotlin.String + annotations: + NotNull(value = ) + PROPERTY name:nullableString visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String + annotations: + NotNull(value = ) + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .KotlinInterface2' + CONST String type=kotlin.String value="" + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + VAR name:k type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .A' type=kotlin.String origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String declared in .B' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.String? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .C' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k8 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.String [val] + CALL 'public open fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k10 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .E' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + VAR name:k11 type:kotlin.String [val] + CALL 'public open fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k12 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .F' type=kotlin.String origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST String type=kotlin.String value="" + VAR name:k13 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k14 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .G' type=kotlin.String origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k16 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .H' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.kt.txt new file mode 100644 index 00000000000..199ee16ea77 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.kt.txt @@ -0,0 +1,154 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + @Nullable + override fun bar(): String { + return super.bar() /*!! String */ + } + + @NotNull + override fun foo(@NotNull s: String?) { + super.foo(s = s) + } + +} + +abstract class E : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +class G : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): String + + abstract fun foo(s: String) + + val nullableString: String + get(): String { + return "" + } + +} + +interface KotlinInterface2 { + @NotNull + abstract fun bar(): String + + @NotNull + abstract fun foo(@NotNull s: String) + + val nullableString: String + @NotNull + get(): String { + return "" + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + val k: String? = a.#nullableString + val k2: String = a.bar() + a.foo(s = "") + val k3: String = b.#nullableString /*!! String */ + val k4: String = b.bar() /*!! String */ + b.foo(s = "") + b.foo(s = null) + val k5: String = c.#nullableString /*!! String */ + val k6: String? = c.bar() + c.foo(s = "") + c.foo(s = null) + val k7: String = d.#nullableString /*!! String */ + val k8: String = d.bar() + d.foo(s = "") + d.foo(s = null) + val k9: String = e.() + val k10: String = e.bar() /*!! String */ + e.foo(s = "") + val k11: String = f.() + val k12: String = f.bar() + f.foo(s = "") + val k13: String = g.#nullableString /*!! String */ + val k14: String = g.bar() + g.foo(s = "") + g.foo(s = null) + val k15: String = h.#nullableString /*!! String */ + val k16: String = h.bar() /*!! String */ + h.foo(s = "") + h.foo(s = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.sig.kt.txt new file mode 100644 index 00000000000..c85e403c7c4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.fir.sig.kt.txt @@ -0,0 +1,288 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.String + // Public signature: /A.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: A#foo(kotlin.String){} + // Public signature: /A.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(s: String): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /B.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /C.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: C#foo(kotlin.String?){} + // Public signature: /C.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.String + // Public signature: /D.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: D#foo(kotlin.String?){} + // Public signature: /D.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java2, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /E.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + abstract /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: E#foo(kotlin.String{EnhancedNullability}){} + // Public signature: /E.foo|-6237292312337226907[0] + // Public signature debug description: foo(kotlin.String{EnhancedNullability}){} + abstract /* fake */ override fun foo(s: @EnhancedNullability String): Unit + + // CHECK: + // Mangled name: E{}nullableString + // Public signature: /E.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.String + // Public signature: /F.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: F#foo(kotlin.String){} + // Public signature: /F.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(s: String): Unit + + // CHECK: + // Mangled name: F{}nullableString + // Public signature: /F.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.String + // Public signature: /G.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + /* fake */ override fun bar(): String + + // CHECK: + // Mangled name: G#foo(kotlin.String?){} + // Public signature: /G.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK: + // Mangled name: G{}nullableString + // Public signature: /G.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, Java2, Java3 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /H.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: H#foo(kotlin.String?){} + // Public signature: /H.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.String + // Public signature: /KotlinInterface.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + abstract fun bar(): String + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.String){} + // Public signature: /KotlinInterface.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + abstract fun foo(s: String): Unit + + // CHECK: + // Mangled name: KotlinInterface{}nullableString + // Public signature: /KotlinInterface.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + val nullableString: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + get(): String + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.String + // Public signature: /KotlinInterface2.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + abstract fun bar(): String + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.String){} + // Public signature: /KotlinInterface2.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + abstract fun foo(s: String): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}nullableString + // Public signature: /KotlinInterface2.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + val nullableString: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.String + // Public signature: /KotlinInterface2.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + get(): String + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.ir.txt new file mode 100644 index 00000000000..bc1fc3173fe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.ir.txt @@ -0,0 +1,516 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .A' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.A, s:kotlin.String) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR ': .D declared in .D.bar' type=.D origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + annotations: + NotNull(value = ) + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + annotations: + NotNull(value = ) + BLOCK_BODY + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .D declared in .D.foo' type=.D origin=null + s: GET_VAR 's: kotlin.String? declared in .D.foo' type=kotlin.String? origin=null + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, s:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String + annotations: + NotNull(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.String + overridden: + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .F' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.F, s:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:s index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: kotlin.String): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open nullableString: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String [fake_override] + annotations: + NotNull(value = ) + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + annotations: + NotNull(value = ) + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java1 + public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .Java2 + public abstract fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .Java2 + public abstract fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.String + PROPERTY name:nullableString visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .KotlinInterface' + CONST String type=kotlin.String value="" + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.String + annotations: + NotNull(value = ) + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, s:kotlin.String) returnType:kotlin.Unit + annotations: + NotNull(value = ) + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:s index:0 type:kotlin.String + annotations: + NotNull(value = ) + PROPERTY name:nullableString visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.String + annotations: + NotNull(value = ) + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .KotlinInterface2' + CONST String type=kotlin.String value="" + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + VAR name:k type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .A' type=kotlin.String origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String declared in .B' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.String? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .C' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k8 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.String [val] + CALL 'public open fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k10 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public abstract fun bar (): @[EnhancedNullability] kotlin.String declared in .E' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun foo (s: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + VAR name:k11 type:kotlin.String [val] + CALL 'public open fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k12 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .F' type=kotlin.String origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST String type=kotlin.String value="" + VAR name:k13 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k14 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .G' type=kotlin.String origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k16 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String declared in .H' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt new file mode 100644 index 00000000000..6fc3052eb8c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt @@ -0,0 +1,130 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65939 + +// FILE: Java1.java +public class Java1 { + public String nullableString = ""; + public String bar() { + return nullableString; + } + public void foo(String s) {} +} + +// FILE: Java2.java +import org.jetbrains.annotations.NotNull; + +public interface Java2 { + @NotNull + public String nullableString = ""; + @NotNull + public String bar(); + public void foo(@NotNull String s); +} + +// FILE: Java3.java +import org.jetbrains.annotations.Nullable; + +interface Java3 { + @Nullable + String nullableString = ""; + @Nullable + String bar(); + void foo(@Nullable String s); +} + +// FILE: 1.kt +import org.jetbrains.annotations.NotNull +import org.jetbrains.annotations.Nullable + +class A : Java1(), Java2 { + override fun bar(): String { + return "" + } + override fun foo(s: String) { } +} + +class B : Java1(), Java2 + +class C : Java1(), Java3 + +class D : Java1(), Java3 { + + @Nullable + override fun bar(): String { + return super.bar() + } + @NotNull + override fun foo(@NotNull s: String?) { + super.foo(s) + } +} + +abstract class E: Java2, KotlinInterface + +class F : Java2, KotlinInterface { + override fun bar(): String { + return "" + } + override fun foo(s: String) { } +} + +class G : Java1(), KotlinInterface2 + +class H : Java1(), Java2, Java3 + +interface KotlinInterface { + val nullableString: String + get() = "" + fun bar(): String + fun foo(s: String) +} + +interface KotlinInterface2 { + @get:NotNull + val nullableString: String + get() = "" + @NotNull + fun bar(): String + @NotNull + fun foo(@NotNull s: String) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + val k: String? = a.nullableString + val k2: String = a.bar() + a.foo("") + + val k3: String = b.nullableString + val k4: String = b.bar() + b.foo("") + b.foo(null) + + val k5: String = c.nullableString + val k6: String? = c.bar() + c.foo("") + c.foo(null) + + val k7: String = d.nullableString + val k8: String = d.bar() + d.foo("") + d.foo(null) + + val k9: String = e.nullableString + val k10: String = e.bar() + e.foo("") + + val k11: String = f.nullableString + val k12: String = f.bar() + f.foo("") + + val k13: String = g.nullableString + val k14: String = g.bar() + g.foo("") + g.foo(null) + + val k15: String = h.nullableString + val k16: String = h.bar() + h.foo("") + h.foo(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt.txt new file mode 100644 index 00000000000..a3dc072d34c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt.txt @@ -0,0 +1,154 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + @Nullable + override fun bar(): String { + return super.bar() /*!! String */ + } + + @NotNull + override fun foo(@NotNull s: String?) { + super.foo(s = s) + } + +} + +abstract class E : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(s: String) { + } + +} + +class G : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): String + + abstract fun foo(s: String) + + val nullableString: String + get(): String { + return "" + } + +} + +interface KotlinInterface2 { + @NotNull + abstract fun bar(): String + + @NotNull + abstract fun foo(@NotNull s: String) + + val nullableString: String + @NotNull + get(): String { + return "" + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + val k: String? = a(super).#nullableString + val k2: String = a.bar() + a.foo(s = "") + val k3: String = b(super).#nullableString /*!! String */ + val k4: String = b.bar() /*!! String */ + b.foo(s = "") + b.foo(s = null) + val k5: String = c(super).#nullableString /*!! String */ + val k6: String? = c.bar() + c.foo(s = "") + c.foo(s = null) + val k7: String = d(super).#nullableString /*!! String */ + val k8: String = d.bar() + d.foo(s = "") + d.foo(s = null) + val k9: String = e.() + val k10: String = e.bar() /*!! String */ + e.foo(s = "") + val k11: String = f.() + val k12: String = f.bar() + f.foo(s = "") + val k13: String = g(super).#nullableString /*!! String */ + val k14: String = g.bar() + g.foo(s = "") + g.foo(s = null) + val k15: String = h(super).#nullableString /*!! String */ + val k16: String = h.bar() /*!! String */ + h.foo(s = "") + h.foo(s = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.sig.kt.txt new file mode 100644 index 00000000000..337536f5ffd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.sig.kt.txt @@ -0,0 +1,288 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.String + // Public signature: /A.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: A#foo(kotlin.String){} + // Public signature: /A.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(s: String): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /B.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /C.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: C#foo(kotlin.String?){} + // Public signature: /C.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.String + // Public signature: /D.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: D#foo(kotlin.String?){} + // Public signature: /D.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java2, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /E.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + abstract /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: E#foo(kotlin.String{EnhancedNullability}){} + // Public signature: /E.foo|-6237292312337226907[0] + // Public signature debug description: foo(kotlin.String{EnhancedNullability}){} + abstract /* fake */ override fun foo(s: @EnhancedNullability String): Unit + + // CHECK: + // Mangled name: E{}nullableString + // Public signature: /E.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.String + // Public signature: /F.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: F#foo(kotlin.String){} + // Public signature: /F.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(s: String): Unit + + // CHECK: + // Mangled name: F{}nullableString + // Public signature: /F.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.String + // Public signature: /G.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + /* fake */ override fun bar(): String + + // CHECK: + // Mangled name: G#foo(kotlin.String?){} + // Public signature: /G.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK: + // Mangled name: G{}nullableString + // Public signature: /G.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + /* fake */ override val nullableString: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, Java2, Java3 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.String{EnhancedNullability} + // Public signature: /H.bar|-4383985778696477509[0] + // Public signature debug description: bar(){}kotlin.String{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String + + // CHECK: + // Mangled name: H#foo(kotlin.String?){} + // Public signature: /H.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.String + // Public signature: /KotlinInterface.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + abstract fun bar(): String + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.String){} + // Public signature: /KotlinInterface.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + abstract fun foo(s: String): Unit + + // CHECK: + // Mangled name: KotlinInterface{}nullableString + // Public signature: /KotlinInterface.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + val nullableString: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + get(): String + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.String + // Public signature: /KotlinInterface2.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + abstract fun bar(): String + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.String){} + // Public signature: /KotlinInterface2.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + abstract fun foo(s: String): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}nullableString + // Public signature: /KotlinInterface2.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + val nullableString: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.String + // Public signature: /KotlinInterface2.nullableString.|8912918971227852816[0] + // Public signature debug description: (){}kotlin.String + get(): String + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.ir.txt new file mode 100644 index 00000000000..6573235463e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.ir.txt @@ -0,0 +1,681 @@ +FILE fqName: fileName:/1.kt + CLASS ANNOTATION_CLASS name:MyAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyAnnotation + CONSTRUCTOR visibility:public <> () returnType:.MyAnnotation [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:MyAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [val] + annotations: + MyAnnotation + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.A + annotations: + MyAnnotation + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:kotlin.Int) returnType:kotlin.Unit + annotations: + MyAnnotation + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + annotations: + MyAnnotation + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit + annotations: + MyAnnotation + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=10 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=11 + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java2' + i: CONST Int type=kotlin.Int value=2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type: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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=11 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + value: GET_VAR ': kotlin.Int declared in .E.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java2' + i: CONST Int type=kotlin.Int value=2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setA visibility:public modality:OPEN <> ($this:.G, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun setA (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + public abstract b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=2 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + public abstract b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.I, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Int + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.kt.txt new file mode 100644 index 00000000000..e3f0ce67bbc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.kt.txt @@ -0,0 +1,197 @@ +open annotation class MyAnnotation : Annotation { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +open class A { + @MyAnnotation + open val a: Int + field = 1 + open get + + @MyAnnotation + constructor(i: Int) { + super/*Any*/() + /* () */ + + } + + @MyAnnotation + open fun foo(@MyAnnotation a: Int) { + } + + open var b: Int + @MyAnnotation + open get(): Int { + return 10 + } + @MyAnnotation + open set(value: Int) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + + override var b: Int + override get(): Int { + return 11 + } + override set(value: Int) { + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/(i = 2) + /* () */ + + } + +} + +class E : Java2 { + override var b: Int + field = 0 + override get(): Int { + return 11 + } + override set + + constructor() /* primary */ { + super/*Java2*/(i = 2) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + +} + +abstract class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class G : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override fun setA(a: Int) { + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 2 + } + + override var b: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + +} + +interface KotlinInterface { + abstract fun foo(a: Int) + + abstract val a: Int + abstract get + + abstract val b: Int + abstract get + +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + b.() /*~> Unit */ + b.() /*~> Unit */ + b.foo(a = 1) + c.() /*~> Unit */ + c.() /*~> Unit */ + c.foo(a = 1) + d.() /*~> Unit */ + d.() /*~> Unit */ + d.foo(a = 1) + e.() /*~> Unit */ + e.() /*~> Unit */ + e.foo(a = 1) + f.() /*~> Unit */ + f.() /*~> Unit */ + f.foo(a = 1) + g.() /*~> Unit */ + g.() /*~> Unit */ + g.foo(a = 1) + h.() /*~> Unit */ + h.() /*~> Unit */ + h.foo(a = 1) + i.() /*~> Unit */ + i.() /*~> Unit */ + i.foo(a = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..b24d68b0fb4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.fir.sig.kt.txt @@ -0,0 +1,496 @@ +// CHECK: +// Mangled name: MyAnnotation +// Public signature: /MyAnnotation|null[0] +open annotation class MyAnnotation : Annotation { + // CHECK: + // Mangled name: MyAnnotation#(){} + // Public signature: /MyAnnotation.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + open val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + constructor(i: Int) + + // CHECK: + // Mangled name: A#foo(kotlin.Int){} + // Public signature: /A.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + open fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + open get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + open set(value: Int): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int){} + // Public signature: /C.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @Override + /* fake */ override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E{}b + // Public signature: /E.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Int){} + // Public signature: /E.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.Int){} + // Public signature: /F.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: F#setA(kotlin.Int){} + // Public signature: /F.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + abstract /* fake */ override fun setA(a: Int): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + + // CHECK: + // Mangled name: F{}b + // Public signature: /F.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(kotlin.Int){} + // Public signature: /G.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: G#setA(kotlin.Int){} + // Public signature: /G.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + override fun setA(a: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + + // CHECK: + // Mangled name: G{}b + // Public signature: /G.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(kotlin.Int){} + // Public signature: /H.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + + // CHECK: + // Mangled name: H{}b + // Public signature: /H.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(kotlin.Int){} + // Public signature: /I.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: I{}b + // Public signature: /I.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: I#(kotlin.Int){} + // Public signature: /I.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract fun foo(a: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H;I){} +// Public signature: /test|2768829396992774586[0] +// Public signature debug description: test(B;C;D;E;F;G;H;I){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.ir.txt new file mode 100644 index 00000000000..8a4a626c3bd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.ir.txt @@ -0,0 +1,673 @@ +FILE fqName: fileName:/1.kt + CLASS ANNOTATION_CLASS name:MyAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.MyAnnotation + CONSTRUCTOR visibility:public <> () returnType:.MyAnnotation [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:MyAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Annotation + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [val] + annotations: + MyAnnotation + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + CONSTRUCTOR visibility:public <> (i:kotlin.Int) returnType:.A + annotations: + MyAnnotation + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:kotlin.Int) returnType:kotlin.Unit + annotations: + MyAnnotation + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + annotations: + MyAnnotation + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit + annotations: + MyAnnotation + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=10 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=11 + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java2' + i: CONST Int type=kotlin.Int value=2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type: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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=11 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + value: GET_VAR ': kotlin.Int declared in .E.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java2' + i: CONST Int type=kotlin.Int value=2 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setA visibility:public modality:OPEN <> ($this:.G, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun setA (a: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + annotations: + MyAnnotation + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + annotations: + MyAnnotation + overridden: + public open a: kotlin.Int + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + public abstract b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + MyAnnotation + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (i: kotlin.Int) declared in .Java1' + i: CONST Int type=kotlin.Int value=1 + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=2 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + public abstract b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.I, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Int + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt new file mode 100644 index 00000000000..894a1d518f1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt @@ -0,0 +1,121 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65388 + +// FILE: Java1.java +public class Java1 extends A { + public Java1(int i) { + super(i); + } +} + +// FILE: Java2.java +public class Java2 extends A { + public Java2(int i) { + super(i); + } + @Override + public void foo(int a) { } + + @Override + public int getA() { + return 5; + } +} + +// FILE: Java3.java +interface Java3 { + public void foo(int a); + public void setA(int a); +} + +// FILE: 1.kt +annotation class MyAnnotation + +open class A { + @MyAnnotation + open fun foo(@MyAnnotation a: Int) { } + + @MyAnnotation + open val a : Int = 1 + + @MyAnnotation constructor(i: Int) + + open var b + @MyAnnotation get() = 10 + @MyAnnotation set(value) {} +} + +class B: Java1(1) //Kotlin ← Java ← Kotlin + +class C : Java1(1) { + override val a: Int + get() = 10 + + override fun foo(a: Int) { } + override var b: Int + get() = 11 + set(value) {} +} + +class D: Java2(2) //Kotlin ← Java (override) ← Kotlin + +class E : Java2(2) { + override val a: Int + get() = 10 + override var b: Int = 0 + get() = 11 + override fun foo(a: Int) { } +} + +abstract class F : Java1(1), Java3 // Kotlin ← Java1, Java2 ← Kotlin2 + +class G : Java1(1), Java3 { + override fun setA(a: Int) { } + override fun foo(a: Int) { } +} + +class H : Java1(1), KotlinInterface // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class I : Java1(1), KotlinInterface { + override var b: Int + get() = 2 + set(value) {} + override val a: Int + get() = 2 + + override fun foo(a: Int) { } +} + +interface KotlinInterface { + val a : Int + val b : Int + fun foo(a: Int) +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + b.a + b.b + b.foo(1) + c.a + c.b + c.foo(1) + d.a + d.b + d.foo(1) + e.a + e.b + e.foo(1) + f.a + f.b + f.foo(1) + g.a + g.b + g.foo(1) + h.a + h.b + h.foo(1) + i.a + i.b + i.foo(1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt.txt new file mode 100644 index 00000000000..e3f0ce67bbc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt.txt @@ -0,0 +1,197 @@ +open annotation class MyAnnotation : Annotation { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +open class A { + @MyAnnotation + open val a: Int + field = 1 + open get + + @MyAnnotation + constructor(i: Int) { + super/*Any*/() + /* () */ + + } + + @MyAnnotation + open fun foo(@MyAnnotation a: Int) { + } + + open var b: Int + @MyAnnotation + open get(): Int { + return 10 + } + @MyAnnotation + open set(value: Int) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + + override var b: Int + override get(): Int { + return 11 + } + override set(value: Int) { + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/(i = 2) + /* () */ + + } + +} + +class E : Java2 { + override var b: Int + field = 0 + override get(): Int { + return 11 + } + override set + + constructor() /* primary */ { + super/*Java2*/(i = 2) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + +} + +abstract class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class G : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override fun setA(a: Int) { + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + +} + +class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/(i = 1) + /* () */ + + } + + override fun foo(a: Int) { + } + + override val a: Int + override get(): Int { + return 2 + } + + override var b: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + +} + +interface KotlinInterface { + abstract fun foo(a: Int) + + abstract val a: Int + abstract get + + abstract val b: Int + abstract get + +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + b.() /*~> Unit */ + b.() /*~> Unit */ + b.foo(a = 1) + c.() /*~> Unit */ + c.() /*~> Unit */ + c.foo(a = 1) + d.() /*~> Unit */ + d.() /*~> Unit */ + d.foo(a = 1) + e.() /*~> Unit */ + e.() /*~> Unit */ + e.foo(a = 1) + f.() /*~> Unit */ + f.() /*~> Unit */ + f.foo(a = 1) + g.() /*~> Unit */ + g.() /*~> Unit */ + g.foo(a = 1) + h.() /*~> Unit */ + h.() /*~> Unit */ + h.foo(a = 1) + i.() /*~> Unit */ + i.() /*~> Unit */ + i.foo(a = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.sig.kt.txt new file mode 100644 index 00000000000..1b1a5fcdd34 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.sig.kt.txt @@ -0,0 +1,492 @@ +// CHECK: +// Mangled name: MyAnnotation +// Public signature: /MyAnnotation|null[0] +open annotation class MyAnnotation : Annotation { + // CHECK: + // Mangled name: MyAnnotation#(){} + // Public signature: /MyAnnotation.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + open val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + constructor(i: Int) + + // CHECK: + // Mangled name: A#foo(kotlin.Int){} + // Public signature: /A.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + open fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + open get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + open set(value: Int): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int){} + // Public signature: /C.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @Override + /* fake */ override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E{}b + // Public signature: /E.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Int){} + // Public signature: /E.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.Int){} + // Public signature: /F.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: F#setA(kotlin.Int){} + // Public signature: /F.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + abstract /* fake */ override fun setA(a: Int): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: F{}b + // Public signature: /F.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(kotlin.Int){} + // Public signature: /G.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: G#setA(kotlin.Int){} + // Public signature: /G.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + override fun setA(a: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: G{}b + // Public signature: /G.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(kotlin.Int){} + // Public signature: /H.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @MyAnnotation + /* fake */ override fun foo(@MyAnnotation a: Int): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + @MyAnnotation + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: H{}b + // Public signature: /H.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + @MyAnnotation + /* fake */ override get(): Int + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + @MyAnnotation + /* fake */ override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(kotlin.Int){} + // Public signature: /I.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(a: Int): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: I{}b + // Public signature: /I.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: I#(kotlin.Int){} + // Public signature: /I.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract fun foo(a: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H;I){} +// Public signature: /test|2768829396992774586[0] +// Public signature debug description: test(B;C;D;E;F;G;H;I){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..fb72d21ff97 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,473 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .B' + CONST String type=kotlin.String value="2" + FUN name:foo visibility:public modality:OPEN <> ($this:.B, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + CONST String type=kotlin.String value="3" + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java4, s:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, s:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:s index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract nullableString: kotlin.Any + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:nullableString visibility:public modality:OPEN [val] + overridden: + public abstract nullableString: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:nullableString type:kotlin.Any visibility:private [final] + EXPRESSION_BODY + GET_VAR 'nullableString: kotlin.Any declared in .H.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Any + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Any declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableString type:kotlin.Any visibility:private [final]' type=kotlin.Any origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (nullableString:kotlin.Any) returnType:.H [primary] + VALUE_PARAMETER name:nullableString index:0 type:kotlin.Any + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, s:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:s index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java5 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any? + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.Any + PROPERTY name:nullableString visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any + correspondingProperty: PROPERTY name:nullableString visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .A' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.String declared in .B' type=kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .C' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + CALL 'public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .E' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .F' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .G' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Any declared in .H' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (s: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .H' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .I' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..3af6335078b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,146 @@ +open class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): String { + return "2" + } + + override fun foo(s: String?) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(): String { + return "3" + } + + override fun foo(s: String?) { + } + +} + +abstract class E : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class F : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(s: Any?) { + } + +} + +abstract class G : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class H : Java2, KotlinInterface { + override val nullableString: Any + field = nullableString + override get + + constructor(nullableString: Any) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(s: Any) { + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): Any? + + abstract fun foo(s: Any) + + abstract val nullableString: Any + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.#nullableString /*~> Unit */ + a.foo(s = "") + a.bar() /*~> Unit */ + b.#nullableString /*~> Unit */ + b.foo(s = "") + b.bar() /*~> Unit */ + c.#nullableString /*~> Unit */ + c.foo(s = "") + c.bar() /*~> Unit */ + d.#nullableString /*~> Unit */ + d.foo(s = "") + d.bar() /*~> Unit */ + e.#nullableString /*~> Unit */ + e.foo(s = "") + e.foo(s = 1) + e.bar() /*~> Unit */ + f.#nullableString /*~> Unit */ + f.foo(s = "") + f.foo(s = 1) + f.bar() /*~> Unit */ + g.#nullableString /*~> Unit */ + g.foo(s = 1) + g.bar() /*~> Unit */ + h.() /*~> Unit */ + h.foo(s = 1) + h.bar() /*~> Unit */ + i.#nullableString /*~> Unit */ + i.foo(s = "") + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..e203120de9d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,514 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .B' + CONST String type=kotlin.String value="2" + FUN name:foo visibility:public modality:OPEN <> ($this:.B, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .D' + CONST String type=kotlin.String value="3" + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java4, s:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, s:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:s index:0 type:kotlin.Any? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract nullableString: kotlin.Any + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:nullableString visibility:public modality:OPEN [val] + overridden: + public abstract nullableString: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:nullableString type:kotlin.Any visibility:private [final] + EXPRESSION_BODY + GET_VAR 'nullableString: kotlin.Any declared in .H.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Any + correspondingProperty: PROPERTY name:nullableString visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Any declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableString type:kotlin.Any visibility:private [final]' type=kotlin.Any origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (nullableString:kotlin.Any) returnType:.H [primary] + VALUE_PARAMETER name:nullableString index:0 type:kotlin.Any + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java2 + public abstract fun bar (): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, s:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:s index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.String? [fake_override] + annotations: + Nullable(value = ) + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java5 + $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:.Java1, s:@[EnhancedNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] kotlin.String? + annotations: + Nullable(value = ) + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + annotations: + Nullable(value = ) + overridden: + public final nullableString: @[EnhancedNullability] kotlin.String? + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any? + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, s:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:s index:0 type:kotlin.Any + PROPERTY name:nullableString visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any + correspondingProperty: PROPERTY name:nullableString visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .A' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.String declared in .B' type=kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .C' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + CALL 'public abstract fun foo (s: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .E' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST String type=kotlin.String value="" + CALL 'public open fun foo (s: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .F' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public abstract fun foo (s: kotlin.Any): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .G' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (s: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + s: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .H' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[EnhancedNullability] kotlin.String? visibility:public' type=@[EnhancedNullability] kotlin.String? origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.String?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + s: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.String? declared in .I' type=@[EnhancedNullability] kotlin.String? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..c0d88523584 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt @@ -0,0 +1,111 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +import org.jetbrains.annotations.Nullable; + +public class Java1 { + @Nullable + public String nullableString = "3"; + @Nullable + public String bar() { + return nullableString; + } + public void foo(@Nullable String s) {} +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +public class Java3 extends Java1 { + @Override + public String bar() { + return "2"; + } + + @Override + public void foo(String s){} + public String nullableString = "5"; +} + +// FILE: Java4.java +public interface Java4 { + public Object bar(); + + public void foo(Object s); + public Object nullableString = "6"; +} + +// FILE: Java5.java +public class Java5 extends A { } + +// FILE: 1.kt +open class A : Java2() // Kotlin ← Java1 ← Java2 + +class B : Java2() { + override fun bar(): String { + return "2" + } + override fun foo(s: String?) { } +} + +class C : Java3() // Kotlin ← Java1(override) ← Java2 + +class D : Java3() { + override fun foo(s: String?) { } + override fun bar(): String { + return "3" + } +} + +abstract class E : Java2(), Java4 // Kotlin ← Java1, Java2 ← Java3 + +class F : Java2(), Java4 { + override fun foo(s: Any?) { } +} + +abstract class G : Java2() , KotlinInterface //Kotlin ← Java, Kotlin2 ← Java2 + +class H(override val nullableString: Any) : Java2() , KotlinInterface { + override fun foo(s: Any) { } +} + +class I : Java5() //Kotlin ← Java ← Kotlin ← Java + +interface KotlinInterface { + fun bar(): Any? + fun foo(s: Any) + val nullableString: Any +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.nullableString + a.foo("") + a.bar() + b.nullableString + b.foo("") + b.bar() + c.nullableString + c.foo("") + c.bar() + d.nullableString + d.foo("") + d.bar() + e.nullableString + e.foo("") + e.foo(1) + e.bar() + f.nullableString + f.foo("") + f.foo(1) + f.bar() + g.nullableString + g.foo(1) + g.bar() + h.nullableString + h.foo(1) + h.bar() + i.nullableString + i.foo("") + i.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..b2d0c05f5fa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,146 @@ +open class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): String { + return "2" + } + + override fun foo(s: String?) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(): String { + return "3" + } + + override fun foo(s: String?) { + } + +} + +abstract class E : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class F : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(s: Any?) { + } + +} + +abstract class G : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class H : Java2, KotlinInterface { + override val nullableString: Any + field = nullableString + override get + + constructor(nullableString: Any) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(s: Any) { + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): Any? + + abstract fun foo(s: Any) + + abstract val nullableString: Any + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a(super).#nullableString /*~> Unit */ + a.foo(s = "") + a.bar() /*~> Unit */ + b(super).#nullableString /*~> Unit */ + b.foo(s = "") + b.bar() /*~> Unit */ + c(super).#nullableString /*~> Unit */ + c.foo(s = "") + c.bar() /*~> Unit */ + d(super).#nullableString /*~> Unit */ + d.foo(s = "") + d.bar() /*~> Unit */ + e(super).#nullableString /*~> Unit */ + e.foo(s = "") + e.foo(s = 1) + e.bar() /*~> Unit */ + f(super).#nullableString /*~> Unit */ + f.foo(s = "") + f.foo(s = 1) + f.bar() /*~> Unit */ + g(super).#nullableString /*~> Unit */ + g.foo(s = 1) + g.bar() /*~> Unit */ + h(super).#nullableString /*~> Unit */ + h.foo(s = 1) + h.bar() /*~> Unit */ + i(super).#nullableString /*~> Unit */ + i.foo(s = "") + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..a8c88e0916e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,298 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /A.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: A#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /A.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String + // Public signature: /B.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /C.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + @Override + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: C#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /C.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + @Override + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.String + // Public signature: /D.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: D#foo(kotlin.String?){} + // Public signature: /D.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java2, Java4 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /E.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: E#foo(kotlin.Any?){} + // Public signature: /E.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + abstract /* fake */ override fun foo(s: Any?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /E.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java2, Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /F.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: F#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /F.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Any?){} + // Public signature: /F.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(s: Any?): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /G.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: G#foo(kotlin.Any){} + // Public signature: /G.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract /* fake */ override fun foo(s: Any): Unit + + // CHECK: + // Mangled name: G#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /G.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + + // CHECK: + // Mangled name: G{}nullableString + // Public signature: /G.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + abstract /* fake */ override val nullableString: Any + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Any + // Public signature: /G.nullableString.|1496833730388071426[0] + // Public signature debug description: (){}kotlin.Any + abstract /* fake */ override get(): Any + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java2, KotlinInterface { + // CHECK: + // Mangled name: H{}nullableString + // Public signature: /H.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + override val nullableString: Any + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Any + // Public signature: /H.nullableString.|1496833730388071426[0] + // Public signature debug description: (){}kotlin.Any + override get + + // CHECK: + // Mangled name: H#(kotlin.Any){} + // Public signature: /H.|4518179880532599055[0] + // Public signature debug description: (kotlin.Any){} + constructor(nullableString: Any) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /H.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: H#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /H.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + + // CHECK: + // Mangled name: H#foo(kotlin.Any){} + // Public signature: /H.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(s: Any): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.String?{EnhancedNullability} + // Public signature: /I.bar|7290041286951472444[0] + // Public signature debug description: bar(){}kotlin.String?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability String? + + // CHECK: + // Mangled name: I#foo(kotlin.String?{EnhancedNullability}){} + // Public signature: /I.foo|5501098881315880089[0] + // Public signature debug description: foo(kotlin.String?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability String?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.Any? + // Public signature: /KotlinInterface.bar|-8552338359875258022[0] + // Public signature debug description: bar(){}kotlin.Any? + abstract fun bar(): Any? + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Any){} + // Public signature: /KotlinInterface.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract fun foo(s: Any): Unit + + // CHECK: + // Mangled name: KotlinInterface{}nullableString + // Public signature: /KotlinInterface.nullableString|-5031128639215906993[0] + // Public signature debug description: {}nullableString + abstract val nullableString: Any + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Any + // Public signature: /KotlinInterface.nullableString.|1496833730388071426[0] + // Public signature debug description: (){}kotlin.Any + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I){} +// Public signature: /test|-1897371180652527268[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.ir.txt new file mode 100644 index 00000000000..5614015b17a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.ir.txt @@ -0,0 +1,852 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.B, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun getB (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.Java2, first:@[EnhancedNullability] kotlin.String, second:@[EnhancedNullability] kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:first index:0 type:@[EnhancedNullability] kotlin.String + VALUE_PARAMETER name:second index:1 type:@[EnhancedNullability] kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: @[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: @[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun getB (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.D, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: @[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: @[FlexibleNullability] kotlin.String? + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .D' + CONST String type=kotlin.String value="3" + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + public abstract fun getB (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name:getC visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public abstract fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun overloadMethod (first: @[FlexibleNullability] kotlin.String?, second: @[FlexibleNullability] kotlin.String?, third: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:ABSTRACT <> ($this:.Java3, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:setC visibility:public modality:ABSTRACT <> ($this:.Java3, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setC (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + public abstract fun getB (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun overloadMethod (first: @[FlexibleNullability] kotlin.String?, second: @[FlexibleNullability] kotlin.String?, third: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:getC visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.String + overridden: + public abstract fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getC (): kotlin.String declared in .F' + CONST String type=kotlin.String value="5" + FUN name:setB visibility:public modality:OPEN <> ($this:.F, text:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:text index:0 type:kotlin.String + BLOCK_BODY + FUN name:setC visibility:public modality:OPEN <> ($this:.F, text:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun setC (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:text index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, first:kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:first index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + public abstract a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + public abstract c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.String + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.String declared in .H.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.String) returnType:.H [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.String + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.H, first:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:first index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + public abstract a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + public abstract c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, value:kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (value: kotlin.String): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final] + annotations: + JvmField + EXPRESSION_BODY + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + PROPERTY name:c visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private + EXPRESSION_BODY + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private' type=kotlin.String origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.String declared in .KotlinClass.' type=kotlin.String origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.Companion + CONSTRUCTOR visibility:private <> () returnType:.KotlinClass.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.KotlinClass.Companion) returnType:kotlin.Unit + annotations: + JvmStatic + $this: VALUE_PARAMETER name: type:.KotlinClass.Companion + BLOCK_BODY + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + annotations: + JvmName(name = "getBJava") + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun getB (): kotlin.String declared in .KotlinClass' + CONST String type=kotlin.String value="b" + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + annotations: + JvmOverloads + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + EXPRESSION_BODY + CONST String type=kotlin.String value="text" + VALUE_PARAMETER name:third index:2 type:kotlin.Int + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:overloadMethod visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, first:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:first index:0 type:kotlin.String + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:c visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.String + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="2" + third: CONST Int type=kotlin.Int value=3 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[FlexibleNullability] kotlin.String? declared in .C' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[FlexibleNullability] kotlin.String? declared in .C' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .D' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[FlexibleNullability] kotlin.String? declared in .D' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun getB (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST String type=kotlin.String value="2" + CALL 'public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun getB (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + value: CONST String type=kotlin.String value="2" + CALL 'public open fun setB (text: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + value: CONST String type=kotlin.String value="2" + CALL 'public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.kt.txt new file mode 100644 index 00000000000..124e4fec02f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.kt.txt @@ -0,0 +1,207 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun overloadMethod(first: String, second: String, third: Int) { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun overloadMethod(first: String, second: String, third: Int) { + } + + override val a: String + override get(): String { + return "3" + } + +} + +abstract class E : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + + override fun getC(): String { + return "5" + } + + override fun setB(text: String) { + } + + override fun setC(text: String) { + } + +} + +abstract class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + override val b: String + field = b + override get + + constructor(b: String) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + + override fun overloadMethod(first: String) { + } + +} + +open class KotlinClass { + val a: String + field = "1" + get + + var c: String + field = "1" + @JvmName(name = "getText") + get + @JvmName(name = "setText") + set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @JvmStatic + fun foo() { + } + + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @JvmName(name = "getBJava") + fun getB(): String { + return "b" + } + + @JvmOverloads + open fun overloadMethod(first: String, second: String = "text", third: Int = 10) { + } + +} + +interface KotlinInterface { + abstract fun foo() + + abstract fun overloadMethod(first: String) + + abstract val a: String + abstract get + + abstract val b: String + abstract get + + abstract var c: String + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.() /*~> Unit */ + a.() /*~> Unit */ + a.(value = "2") + a.overloadMethod(first = "") + b.() /*~> Unit */ + b.() /*~> Unit */ + b.(value = "2") + b.overloadMethod(first = "", second = "2", third = 3) + c.() /*~> Unit */ + c.() /*~> Unit */ + c.(text = "2") + c.overloadMethod(first = "") + c.overloadMethod(first = "", second = "", third = 1) + d.() /*~> Unit */ + d.() /*~> Unit */ + d.(text = "2") + d.overloadMethod(first = "") + d.overloadMethod(first = "", second = "", third = 1) + e.() /*~> Unit */ + e.getB() /*~> Unit */ + e.() /*~> Unit */ + e.(value = "2") + e.setB(text = "2") + e.overloadMethod(first = "") + f.() /*~> Unit */ + f.getB() /*~> Unit */ + f.() /*~> Unit */ + f.(value = "2") + f.setB(text = "2") + f.overloadMethod(first = "") + g.() /*~> Unit */ + g.() /*~> Unit */ + g.() /*~> Unit */ + g.(value = "2") + g.overloadMethod(first = "") + h.() /*~> Unit */ + h.() /*~> Unit */ + h.() /*~> Unit */ + h.overloadMethod(first = "") + h.overloadMethod(first = "", second = "", third = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..21404462948 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.fir.sig.kt.txt @@ -0,0 +1,660 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getB(){}kotlin.String + // Public signature: /A.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: A#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /A.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.String + // Public signature: /A.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.String + // Public signature: /A.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: A#(kotlin.String){} + // Public signature: /A.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getB(){}kotlin.String + // Public signature: /B.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: B#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /B.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.String + // Public signature: /B.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.String + // Public signature: /B.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: B#(kotlin.String){} + // Public signature: /B.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getB(){}kotlin.String{EnhancedNullability} + // Public signature: /C.getB|4278170284003720919[0] + // Public signature debug description: getB(){}kotlin.String{EnhancedNullability} + /* fake */ override fun getB(): @EnhancedNullability String + + // CHECK: + // Mangled name: C#overloadMethod(kotlin.String{EnhancedNullability};kotlin.String{EnhancedNullability};kotlin.Int){} + // Public signature: /C.overloadMethod|8770045736695034254[0] + // Public signature debug description: overloadMethod(kotlin.String{EnhancedNullability};kotlin.String{EnhancedNullability};kotlin.Int){} + /* fake */ override fun overloadMethod(first: @EnhancedNullability String, second: @EnhancedNullability String, third: Int): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.String? + // Public signature: /C.a.|-3827020536169281094[0] + // Public signature debug description: (){}kotlin.String? + /* fake */ override get(): String? + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.String? + // Public signature: /C.c.|-6320399562288171885[0] + // Public signature debug description: (){}kotlin.String? + /* fake */ override get(): String? + // CHECK: + // Mangled name: C#(kotlin.String?){} + // Public signature: /C.c.|7821982893837257305[0] + // Public signature debug description: (kotlin.String?){} + /* fake */ override set(text: String?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#getB(){}kotlin.String{EnhancedNullability} + // Public signature: /D.getB|4278170284003720919[0] + // Public signature debug description: getB(){}kotlin.String{EnhancedNullability} + /* fake */ override fun getB(): @EnhancedNullability String + + // CHECK: + // Mangled name: D#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /D.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: D{}c + // Public signature: /D.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.String? + // Public signature: /D.c.|-6320399562288171885[0] + // Public signature debug description: (){}kotlin.String? + /* fake */ override get(): String? + // CHECK: + // Mangled name: D#(kotlin.String?){} + // Public signature: /D.c.|7821982893837257305[0] + // Public signature debug description: (kotlin.String?){} + /* fake */ override set(text: String?): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: String + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.String + // Public signature: /D.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + override get(): String + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: E#getB(){}kotlin.String + // Public signature: /E.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK JVM_IR: + // Mangled name: E#getC(){}kotlin.String? + // Public signature: /E.getC|-4926278272686304201[0] + // Public signature debug description: getC(){}kotlin.String? + abstract /* fake */ override fun getC(): String? + + // CHECK: + // Mangled name: E#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /E.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: E#setB(kotlin.String?){} + // Public signature: /E.setB|3235024716846847901[0] + // Public signature debug description: setB(kotlin.String?){} + abstract /* fake */ override fun setB(text: String?): Unit + + // CHECK: + // Mangled name: E#setC(kotlin.String?){} + // Public signature: /E.setC|8854730909867222504[0] + // Public signature debug description: setC(kotlin.String?){} + abstract /* fake */ override fun setC(text: String?): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: E{}c + // Public signature: /E.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: E#(kotlin.String){} + // Public signature: /E.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#getB(){}kotlin.String + // Public signature: /F.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: F#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /F.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: F#getC(){}kotlin.String + // Public signature: /F.getC|-869268604338261875[0] + // Public signature debug description: getC(){}kotlin.String + override fun getC(): String + + // CHECK: + // Mangled name: F#setB(kotlin.String){} + // Public signature: /F.setB|-8766973500211804524[0] + // Public signature debug description: setB(kotlin.String){} + override fun setB(text: String): Unit + + // CHECK: + // Mangled name: F#setC(kotlin.String){} + // Public signature: /F.setC|2472800919204397200[0] + // Public signature debug description: setC(kotlin.String){} + override fun setC(text: String): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: F{}c + // Public signature: /F.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: F#(kotlin.String){} + // Public signature: /F.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: G#getB(){}kotlin.String + // Public signature: /G.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: G#overloadMethod(kotlin.String){} + // Public signature: /G.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + abstract /* fake */ override fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: G#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /G.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: G{}b + // Public signature: /G.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override val b: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + abstract /* fake */ override get(): String + + // CHECK: + // Mangled name: G{}c + // Public signature: /G.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: G#(kotlin.String){} + // Public signature: /G.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H{}b + // Public signature: /H.b|772347207915745207[0] + // Public signature debug description: {}b + override val b: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + override get + + // CHECK: + // Mangled name: H#(kotlin.String){} + // Public signature: /H.|1280618353163213788[0] + // Public signature debug description: (kotlin.String){} + constructor(b: String) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#getB(){}kotlin.String + // Public signature: /H.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: H#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /H.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: H#overloadMethod(kotlin.String){} + // Public signature: /H.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + override fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: H{}c + // Public signature: /H.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: H#(kotlin.String){} + // Public signature: /H.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: String + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.String + // Public signature: /KotlinClass.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + get + + // CHECK: + // Mangled name: KotlinClass{}c + // Public signature: /KotlinClass.c|-4416962153448040627[0] + // Public signature debug description: {}c + var c: String + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.String + // Public signature: /KotlinClass.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + get + // CHECK: + // Mangled name: KotlinClass#(kotlin.String){} + // Public signature: /KotlinClass.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + set + + // CHECK: + // Mangled name: KotlinClass.Companion + // Public signature: /KotlinClass.Companion|null[0] + companion object Companion { + // CHECK: + // Mangled name: KotlinClass.Companion#(){} + // Public signature: /KotlinClass.Companion.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass.Companion#foo(){} + // Public signature: /KotlinClass.Companion.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @JvmStatic + fun foo(): Unit + + } + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#getB(){}kotlin.String + // Public signature: /KotlinClass.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + fun getB(): String + + // CHECK: + // Mangled name: KotlinClass#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /KotlinClass.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + open fun overloadMethod(first: String, second: String, third: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(){} + // Public signature: /KotlinInterface.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInterface#overloadMethod(kotlin.String){} + // Public signature: /KotlinInterface.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + abstract fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}c + // Public signature: /KotlinInterface.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract var c: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.String){} + // Public signature: /KotlinInterface.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.ir.txt new file mode 100644 index 00000000000..776724cc90b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.ir.txt @@ -0,0 +1,852 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.B, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun getB (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.Java2, first:@[EnhancedNullability] kotlin.String, second:@[EnhancedNullability] kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:first index:0 type:@[EnhancedNullability] kotlin.String + VALUE_PARAMETER name:second index:1 type:@[EnhancedNullability] kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: @[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: @[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun getB (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.D, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: @[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] kotlin.String? + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: @[EnhancedNullability] kotlin.String + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .D' + CONST String type=kotlin.String value="3" + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + public abstract fun getB (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name:getC visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public abstract fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun overloadMethod (first: @[FlexibleNullability] kotlin.String?, second: @[FlexibleNullability] kotlin.String?, third: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:ABSTRACT <> ($this:.Java3, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:setC visibility:public modality:ABSTRACT <> ($this:.Java3, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setC (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + public abstract fun getB (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + public abstract fun overloadMethod (first: @[FlexibleNullability] kotlin.String?, second: @[FlexibleNullability] kotlin.String?, third: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:getC visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.String + overridden: + public abstract fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getC (): kotlin.String declared in .F' + CONST String type=kotlin.String value="5" + FUN name:setB visibility:public modality:OPEN <> ($this:.F, text:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:text index:0 type:kotlin.String + BLOCK_BODY + FUN name:setC visibility:public modality:OPEN <> ($this:.F, text:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun setC (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:text index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, first:kotlin.String) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:first index:0 type:kotlin.String + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + public abstract a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + public abstract c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.String + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.String declared in .H.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.String visibility:private [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.String) returnType:.H [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.String + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getBJava") + overridden: + public final fun getB (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + JvmOverloads + overridden: + public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + VALUE_PARAMETER name:third index:2 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.H, first:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:first index:0 type:kotlin.String + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final a: kotlin.String + public abstract a: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.String + public abstract c: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String [fake_override] + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.String declared in .Java1 + public abstract fun (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit [fake_override] + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (: kotlin.String): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.String): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final] + annotations: + JvmField + EXPRESSION_BODY + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.String visibility:public [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + PROPERTY name:c visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private + EXPRESSION_BODY + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + annotations: + JvmName(name = "getText") + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private' type=kotlin.String origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass, :kotlin.String) returnType:kotlin.Unit + annotations: + JvmName(name = "setText") + correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.String + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.String visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.String declared in .KotlinClass.' type=kotlin.String origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.Companion + CONSTRUCTOR visibility:private <> () returnType:.KotlinClass.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.KotlinClass.Companion) returnType:kotlin.Unit + annotations: + JvmStatic + $this: VALUE_PARAMETER name: type:.KotlinClass.Companion + BLOCK_BODY + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getB visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.String + annotations: + JvmName(name = "getBJava") + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun getB (): kotlin.String declared in .KotlinClass' + CONST String type=kotlin.String value="b" + FUN name:overloadMethod visibility:public modality:OPEN <> ($this:.KotlinClass, first:kotlin.String, second:kotlin.String, third:kotlin.Int) returnType:kotlin.Unit + annotations: + JvmOverloads + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:first index:0 type:kotlin.String + VALUE_PARAMETER name:second index:1 type:kotlin.String + EXPRESSION_BODY + CONST String type=kotlin.String value="text" + VALUE_PARAMETER name:third index:2 type:kotlin.Int + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:overloadMethod visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, first:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:first index:0 type:kotlin.String + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:c visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.String + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.String + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .A' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun (: kotlin.String): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + : CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun (: kotlin.String): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="2" + third: CONST Int type=kotlin.Int value=3 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[EnhancedNullability] kotlin.String declared in .C' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[EnhancedNullability] kotlin.String declared in .C' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .D' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): @[EnhancedNullability] kotlin.String declared in .D' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun (: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun getB (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .E' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public final fun (: kotlin.String): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST String type=kotlin.String value="2" + CALL 'public abstract fun setB (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun getB (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun (: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST String type=kotlin.String value="2" + CALL 'public open fun setB (text: kotlin.String): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + text: CONST String type=kotlin.String value="2" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .G' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public final fun (: kotlin.String): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + : CONST String type=kotlin.String value="2" + CALL 'public abstract fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + first: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.String declared in .H' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun overloadMethod (first: kotlin.String): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + first: CONST String type=kotlin.String value="" + CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + first: CONST String type=kotlin.String value="" + second: CONST String type=kotlin.String value="" + third: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt new file mode 100644 index 00000000000..99bbdc3a107 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt @@ -0,0 +1,137 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66048 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: Java2.java +public class Java2 extends KotlinClass { + public String getA() { + return "2"; + } + public String getB() { + return "2"; + } + public void setC(String text) { } + public String getC() { + return "2"; + } + public void overloadMethod(String first, String second, int third) { } +} + +// FILE: Java3.java +interface Java3 { + String a = "2"; + void foo(); + String getB(); + void setB(String text); + void setC(String text); + String getC(); + void overloadMethod(String first, String second, int third); +} + +// FILE: 1.kt +open class KotlinClass { + @JvmField + val a = "1" + + companion object { + @JvmStatic + fun foo() {} + } + + @JvmName("getBJava") + fun getB() : String = "b" + + @get:JvmName("getText") + @set:JvmName("setText") + var c = "1" + + @JvmOverloads + open fun overloadMethod(first : String, second : String = "text", third : Int = 10) { } +} + +class A : Java1() //Kotlin ← Java ← Kotlin + +class B : Java1() { + override fun overloadMethod(first: String, second: String, third: Int) { } +} + +class C : Java2() // Kotlin ← Java (override) ← Kotlin + +class D : Java2() { + override val a: String + get() = "3" + override fun overloadMethod(first: String, second: String, third: Int) { } +} + +abstract class E : Java1() , Java3 // Kotlin ← Java1, Java2 ← Kotlin2 + +class F : Java1() , Java3 { + override fun foo() { } + override fun setB(text: String) { } + override fun setC(text: String) { } + override fun getC(): String { + return "5" + } +} + +abstract class G : Java1() , KotlinInterface // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class H(override val b: String) : Java1() , KotlinInterface { + override fun foo() { } + override fun overloadMethod(first: String) { } +} + +interface KotlinInterface{ + val a: String + fun foo() + val b : String + var c : String + fun overloadMethod(first : String) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.a + a.c + a.c = "2" + a.overloadMethod("") + b.a + b.c + b.c = "2" + b.overloadMethod("", "2", 3) + c.a + c.c + c.c = "2" + c.overloadMethod("") + c.overloadMethod("","",1) + d.a + d.c + d.c = "2" + d.overloadMethod("") + d.overloadMethod("","",1) + e.a + e.b + e.c + e.c = "2" + e.b = "2" + e.overloadMethod("") + f.a + f.b + f.c + f.c = "2" + f.b = "2" + f.overloadMethod("") + g.a + g.b + g.c + g.c = "2" + g.overloadMethod("") + h.a + h.b + h.c + h.overloadMethod("") + h.overloadMethod("", "", 1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt.txt new file mode 100644 index 00000000000..7a263bf3c6a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt.txt @@ -0,0 +1,207 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun overloadMethod(first: String, second: String, third: Int) { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun overloadMethod(first: String, second: String, third: Int) { + } + + override val a: String + override get(): String { + return "3" + } + +} + +abstract class E : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + + override fun getC(): String { + return "5" + } + + override fun setB(text: String) { + } + + override fun setC(text: String) { + } + +} + +abstract class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + override val b: String + field = b + override get + + constructor(b: String) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + + override fun overloadMethod(first: String) { + } + +} + +open class KotlinClass { + val a: String + field = "1" + get + + var c: String + field = "1" + @JvmName(name = "getText") + get + @JvmName(name = "setText") + set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @JvmStatic + fun foo() { + } + + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @JvmName(name = "getBJava") + fun getB(): String { + return "b" + } + + @JvmOverloads + open fun overloadMethod(first: String, second: String = "text", third: Int = 10) { + } + +} + +interface KotlinInterface { + abstract fun foo() + + abstract fun overloadMethod(first: String) + + abstract val a: String + abstract get + + abstract val b: String + abstract get + + abstract var c: String + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.() /*~> Unit */ + a.() /*~> Unit */ + a.( = "2") + a.overloadMethod(first = "") + b.() /*~> Unit */ + b.() /*~> Unit */ + b.( = "2") + b.overloadMethod(first = "", second = "2", third = 3) + c.() /*~> Unit */ + c.() /*~> Unit */ + c.( = "2") + c.overloadMethod(first = "") + c.overloadMethod(first = "", second = "", third = 1) + d.() /*~> Unit */ + d.() /*~> Unit */ + d.( = "2") + d.overloadMethod(first = "") + d.overloadMethod(first = "", second = "", third = 1) + e.() /*~> Unit */ + e.getB() /*~> Unit */ + e.() /*~> Unit */ + e.( = "2") + e.setB(text = "2") + e.overloadMethod(first = "") + f.() /*~> Unit */ + f.getB() /*~> Unit */ + f.() /*~> Unit */ + f.( = "2") + f.setB(text = "2") + f.overloadMethod(first = "") + g.() /*~> Unit */ + g.() /*~> Unit */ + g.() /*~> Unit */ + g.( = "2") + g.overloadMethod(first = "") + h.() /*~> Unit */ + h.() /*~> Unit */ + h.() /*~> Unit */ + h.overloadMethod(first = "") + h.overloadMethod(first = "", second = "", third = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.sig.kt.txt new file mode 100644 index 00000000000..1ca75022027 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.sig.kt.txt @@ -0,0 +1,660 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getB(){}kotlin.String + // Public signature: /A.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: A#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /A.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.String + // Public signature: /A.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.String + // Public signature: /A.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: A#(kotlin.String){} + // Public signature: /A.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getB(){}kotlin.String + // Public signature: /B.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: B#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /B.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.String + // Public signature: /B.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.String + // Public signature: /B.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: B#(kotlin.String){} + // Public signature: /B.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getB(){}kotlin.String{EnhancedNullability} + // Public signature: /C.getB|4278170284003720919[0] + // Public signature debug description: getB(){}kotlin.String{EnhancedNullability} + /* fake */ override fun getB(): @EnhancedNullability String + + // CHECK: + // Mangled name: C#overloadMethod(kotlin.String{EnhancedNullability};kotlin.String{EnhancedNullability};kotlin.Int){} + // Public signature: /C.overloadMethod|8770045736695034254[0] + // Public signature debug description: overloadMethod(kotlin.String{EnhancedNullability};kotlin.String{EnhancedNullability};kotlin.Int){} + /* fake */ override fun overloadMethod(first: @EnhancedNullability String, second: @EnhancedNullability String, third: Int): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: @EnhancedNullability String + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.String{EnhancedNullability} + // Public signature: /C.a.|-7145393266243152488[0] + // Public signature debug description: (){}kotlin.String{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: @EnhancedNullability String + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.String{EnhancedNullability} + // Public signature: /C.c.|-2824529966014301292[0] + // Public signature debug description: (){}kotlin.String{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability String + // CHECK: + // Mangled name: C#(kotlin.String?){} + // Public signature: /C.c.|7821982893837257305[0] + // Public signature debug description: (kotlin.String?){} + /* fake */ override set(: String?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#getB(){}kotlin.String{EnhancedNullability} + // Public signature: /D.getB|4278170284003720919[0] + // Public signature debug description: getB(){}kotlin.String{EnhancedNullability} + /* fake */ override fun getB(): @EnhancedNullability String + + // CHECK: + // Mangled name: D#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /D.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: D{}c + // Public signature: /D.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: @EnhancedNullability String + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.String{EnhancedNullability} + // Public signature: /D.c.|-2824529966014301292[0] + // Public signature debug description: (){}kotlin.String{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability String + // CHECK: + // Mangled name: D#(kotlin.String?){} + // Public signature: /D.c.|7821982893837257305[0] + // Public signature debug description: (kotlin.String?){} + /* fake */ override set(: String?): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: String + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.String + // Public signature: /D.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + override get(): String + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: E#getB(){}kotlin.String + // Public signature: /E.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK JVM_IR: + // Mangled name: E#getC(){}kotlin.String? + // Public signature: /E.getC|-4926278272686304201[0] + // Public signature debug description: getC(){}kotlin.String? + abstract /* fake */ override fun getC(): String? + + // CHECK: + // Mangled name: E#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /E.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: E#setB(kotlin.String?){} + // Public signature: /E.setB|3235024716846847901[0] + // Public signature debug description: setB(kotlin.String?){} + abstract /* fake */ override fun setB(text: String?): Unit + + // CHECK: + // Mangled name: E#setC(kotlin.String?){} + // Public signature: /E.setC|8854730909867222504[0] + // Public signature debug description: setC(kotlin.String?){} + abstract /* fake */ override fun setC(text: String?): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: E{}c + // Public signature: /E.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: E#(kotlin.String){} + // Public signature: /E.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#getB(){}kotlin.String + // Public signature: /F.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: F#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /F.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: F#getC(){}kotlin.String + // Public signature: /F.getC|-869268604338261875[0] + // Public signature debug description: getC(){}kotlin.String + override fun getC(): String + + // CHECK: + // Mangled name: F#setB(kotlin.String){} + // Public signature: /F.setB|-8766973500211804524[0] + // Public signature debug description: setB(kotlin.String){} + override fun setB(text: String): Unit + + // CHECK: + // Mangled name: F#setC(kotlin.String){} + // Public signature: /F.setC|2472800919204397200[0] + // Public signature debug description: setC(kotlin.String){} + override fun setC(text: String): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: F{}c + // Public signature: /F.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: F#(kotlin.String){} + // Public signature: /F.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK JVM_IR: + // Mangled name: G#getB(){}kotlin.String + // Public signature: /G.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: G#overloadMethod(kotlin.String){} + // Public signature: /G.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + abstract /* fake */ override fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: G#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /G.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: G{}b + // Public signature: /G.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override val b: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + abstract /* fake */ override get(): String + + // CHECK: + // Mangled name: G{}c + // Public signature: /G.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.String + // Public signature: /G.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: G#(kotlin.String){} + // Public signature: /G.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H{}b + // Public signature: /H.b|772347207915745207[0] + // Public signature debug description: {}b + override val b: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + override get + + // CHECK: + // Mangled name: H#(kotlin.String){} + // Public signature: /H.|1280618353163213788[0] + // Public signature debug description: (kotlin.String){} + constructor(b: String) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#getB(){}kotlin.String + // Public signature: /H.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + /* fake */ override fun getB(): String + + // CHECK: + // Mangled name: H#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /H.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + /* fake */ override fun overloadMethod(first: String, second: String, third: Int): Unit + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: H#overloadMethod(kotlin.String){} + // Public signature: /H.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + override fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: H{}c + // Public signature: /H.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: String + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.String + // Public signature: /H.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + /* fake */ override get(): String + // CHECK: + // Mangled name: H#(kotlin.String){} + // Public signature: /H.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + /* fake */ override set(: String): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: String + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.String + // Public signature: /KotlinClass.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + get + + // CHECK: + // Mangled name: KotlinClass{}c + // Public signature: /KotlinClass.c|-4416962153448040627[0] + // Public signature debug description: {}c + var c: String + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.String + // Public signature: /KotlinClass.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + @JvmName(name = "getText") + get + // CHECK: + // Mangled name: KotlinClass#(kotlin.String){} + // Public signature: /KotlinClass.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + @JvmName(name = "setText") + set + + // CHECK: + // Mangled name: KotlinClass.Companion + // Public signature: /KotlinClass.Companion|null[0] + companion object Companion { + // CHECK: + // Mangled name: KotlinClass.Companion#(){} + // Public signature: /KotlinClass.Companion.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass.Companion#foo(){} + // Public signature: /KotlinClass.Companion.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @JvmStatic + fun foo(): Unit + + } + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#getB(){}kotlin.String + // Public signature: /KotlinClass.getB|-4761387797922949255[0] + // Public signature debug description: getB(){}kotlin.String + @JvmName(name = "getBJava") + fun getB(): String + + // CHECK: + // Mangled name: KotlinClass#overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + // Public signature: /KotlinClass.overloadMethod|6854898171569188871[0] + // Public signature debug description: overloadMethod(kotlin.String;kotlin.String;kotlin.Int){} + @JvmOverloads + open fun overloadMethod(first: String, second: String, third: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(){} + // Public signature: /KotlinInterface.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInterface#overloadMethod(kotlin.String){} + // Public signature: /KotlinInterface.overloadMethod|8031992761249002127[0] + // Public signature debug description: overloadMethod(kotlin.String){} + abstract fun overloadMethod(first: String): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.a.|-6318309956076983327[0] + // Public signature debug description: (){}kotlin.String + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.b.|5457451065030643294[0] + // Public signature debug description: (){}kotlin.String + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}c + // Public signature: /KotlinInterface.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract var c: String + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.String + // Public signature: /KotlinInterface.c.|-1685601560056418491[0] + // Public signature debug description: (){}kotlin.String + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.String){} + // Public signature: /KotlinInterface.c.|8694985733648793496[0] + // Public signature debug description: (kotlin.String){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.ir.txt new file mode 100644 index 00000000000..125ac0f1a81 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.ir.txt @@ -0,0 +1,229 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .Java1 + public abstract fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .Java1 + public abstract fun toSet (elements: kotlin.collections.Collection): kotlin.collections.Set declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java5, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? [fake_override] + annotations: + Override + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>? + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toSet visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, elements:kotlin.collections.Collection) returnType:kotlin.collections.Set + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k2 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k3 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k4 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k5 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] @[NotNull(value = )] kotlin.String>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k6 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.kt.txt new file mode 100644 index 00000000000..a82360133dd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.fir.kt.txt @@ -0,0 +1,67 @@ +open class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class E : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class F : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun toSet(elements: Collection): Set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Set = a.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability @NotNull String> */ + val k2: Set = b.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability @NotNull String> */ + val k3: Set = c.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability @NotNull String> */ + val k4: Set = d.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability @NotNull String> */ + val k5: Set = e.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability @NotNull String> */ + val k6: Set = f.toSet(elements = mutableListOf(elements = ["1"])) /*!! @FlexibleMutability MutableSet<@EnhancedNullability String> */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.ir.txt new file mode 100644 index 00000000000..b30b490cbc7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.ir.txt @@ -0,0 +1,229 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .Java1 + public abstract fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .Java1 + public abstract fun toSet (elements: kotlin.collections.Collection): kotlin.collections.Set declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java1, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? [fake_override] + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toSet visibility:public modality:OPEN <> ($this:.Java5, elements:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? [fake_override] + annotations: + Override + overridden: + public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + VALUE_PARAMETER name:elements index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>? + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toSet visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, elements:kotlin.collections.Collection) returnType:kotlin.collections.Set + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=null + : @[NotNull(value = )] @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array)] @[EnhancedNullability] kotlin.String> varargElementType=@[NotNull(value = )] @[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k2 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=null + : @[NotNull(value = )] @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array)] @[EnhancedNullability] kotlin.String> varargElementType=@[NotNull(value = )] @[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k3 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=null + : @[NotNull(value = )] @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array)] @[EnhancedNullability] kotlin.String> varargElementType=@[NotNull(value = )] @[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k4 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=null + : @[NotNull(value = )] @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array)] @[EnhancedNullability] kotlin.String> varargElementType=@[NotNull(value = )] @[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k5 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[NotNull(value = )] @[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[NotNull(value = )] @[EnhancedNullability] kotlin.String> origin=null + : @[NotNull(value = )] @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array)] @[EnhancedNullability] kotlin.String> varargElementType=@[NotNull(value = )] @[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" + VAR name:k6 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[EnhancedNullability] kotlin.String> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[EnhancedNullability] kotlin.String> + CALL 'public open fun toSet (elements: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.String>?): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.String>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + elements: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[EnhancedNullability] kotlin.String> origin=null + : @[EnhancedNullability] kotlin.String + elements: VARARG type=kotlin.Array varargElementType=@[EnhancedNullability] kotlin.String + CONST String type=kotlin.String value="1" diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt new file mode 100644 index 00000000000..9500ff14edf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt @@ -0,0 +1,64 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +import org.jetbrains.annotations.NotNull; +import java.util.Collection; +import java.util.Set; + +public class Java1 { + public Set<@NotNull String> toSet(Collection<@NotNull String> elements) { + return null; + } +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +import java.util.Collection; +import java.util.Set; + +interface Java3 { + Set toSet(Collection elements); +} + +// FILE: Java4.java +public class Java4 extends A { } + +// FILE: Java5.java +import java.util.Collection; +import java.util.Set; + +public class Java5 extends A { + @Override + public Set toSet(Collection elements) { + return null; + } +} + +// FILE: 1.kt +open class A : Java1() + +class B : Java2() + +class C : Java1(), Java3 + +class D : Java1() , KotlinInterface + +class E : Java4() + +class F : Java5() + +interface KotlinInterface{ + fun toSet(elements: Collection): Set +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Set = a.toSet(mutableListOf("1")) + val k2: Set = b.toSet(mutableListOf("1")) + val k3: Set = c.toSet(mutableListOf("1")) + val k4: Set = d.toSet(mutableListOf("1")) + val k5: Set = e.toSet(mutableListOf("1")) + val k6: Set = f.toSet(mutableListOf("1")) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt.txt new file mode 100644 index 00000000000..b05fedff59f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt.txt @@ -0,0 +1,67 @@ +open class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class E : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class F : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun toSet(elements: Collection): Set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Set = a.toSet(elements = mutableListOf<@NotNull @EnhancedNullability String>(elements = ["1"])) /*!! Set<@NotNull @EnhancedNullability String> */ + val k2: Set = b.toSet(elements = mutableListOf<@NotNull @EnhancedNullability String>(elements = ["1"])) /*!! Set<@NotNull @EnhancedNullability String> */ + val k3: Set = c.toSet(elements = mutableListOf<@NotNull @EnhancedNullability String>(elements = ["1"])) /*!! Set<@NotNull @EnhancedNullability String> */ + val k4: Set = d.toSet(elements = mutableListOf<@NotNull @EnhancedNullability String>(elements = ["1"])) /*!! Set<@NotNull @EnhancedNullability String> */ + val k5: Set = e.toSet(elements = mutableListOf<@NotNull @EnhancedNullability String>(elements = ["1"])) /*!! Set<@NotNull @EnhancedNullability String> */ + val k6: Set = f.toSet(elements = mutableListOf<@EnhancedNullability String>(elements = ["1"])) /*!! Set<@EnhancedNullability String> */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.sig.kt.txt new file mode 100644 index 00000000000..5d21fb50a4b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.sig.kt.txt @@ -0,0 +1,126 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /A.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /B.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /C.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /D.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java4 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /E.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java5 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + // Public signature: /F.toSet|-2461674864639155173[0] + // Public signature debug description: toSet(kotlin.collections.MutableCollection?){}kotlin.collections.MutableSet? + @Override + /* fake */ override fun toSet(elements: MutableCollection<@EnhancedNullability String>?): MutableSet<@EnhancedNullability String>? + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#toSet(kotlin.collections.Collection){}kotlin.collections.Set + // Public signature: /KotlinInterface.toSet|6531884437362673162[0] + // Public signature debug description: toSet(kotlin.collections.Collection){}kotlin.collections.Set + abstract fun toSet(elements: Collection): Set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.ir.txt new file mode 100644 index 00000000000..4e2d15d83ad --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.ir.txt @@ -0,0 +1,289 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1 declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:@[EnhancedNullability] T of .B [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1 declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + $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:.Java1.B>, s:@[EnhancedNullability] T of .B) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] T of .B + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[EnhancedNullability] kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[EnhancedNullability] kotlin.Int> + 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 .Java2 + $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:.Java1<@[EnhancedNullability] kotlin.Int>, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[EnhancedNullability] kotlin.Int> + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java3 declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java3): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java3 declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java3): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java4) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java4 declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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:.Java4, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java4): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4.G>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G.G> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + CONSTRUCTOR visibility:public <> () returnType:.G.G> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : T of .G + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4.G>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java4.G>) returnType:@[EnhancedNullability] T of .G [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java4 declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4.G> + 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 .Java4 + $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:.Java4.G>, s:@[EnhancedNullability] T of .G) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java4): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4.G> + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] T of .G + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.String origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Int? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java3 visibility:public' type=@[EnhancedNullability] kotlin.Int? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k8 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int? declared in .D' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java3 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k10 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .E' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java4 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k12 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .F' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java4 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k14 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] T of .G declared in .G' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] T of .G): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.kt.txt new file mode 100644 index 00000000000..2230545eff7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.fir.kt.txt @@ -0,0 +1,86 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k: Int = a.#a /*!! Int */ + val k2: Int = a.bar() /*!! Int */ + a.foo(s = 1) + val k3: String = b.#a /*!! String */ + val k4: String = b.bar() /*!! String */ + b.foo(s = "") + val k5: Int = c.#a /*!! Int */ + val k6: Int = c.bar() /*!! Int */ + c.foo(s = 1) + val k7: Int? = d.#a + val k8: Int? = d.bar() + d.foo(s = null) + val k9: Int = e.#a /*!! Int */ + val k10: Int = e.bar() /*!! Int */ + e.foo(s = 1) + val k11: Int = f.#a /*!! Int */ + val k12: Int = f.bar() /*!! Int */ + f.foo(s = 1) + val k13: Int = g.#a /*!! Int */ + val k14: Int = g.bar() /*!! Int */ + g.foo(s = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.ir.txt new file mode 100644 index 00000000000..0ab9ccebea0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.ir.txt @@ -0,0 +1,310 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1 declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:@[EnhancedNullability] T of .B [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1 declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + $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:.Java1.B>, s:@[EnhancedNullability] T of .B) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] T of .B + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[EnhancedNullability] kotlin.Int>) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[EnhancedNullability] kotlin.Int> + 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 .Java2 + $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:.Java1<@[EnhancedNullability] kotlin.Int>, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[EnhancedNullability] kotlin.Int> + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java3 declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java3): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java3 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java3 declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java3): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java3 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java4) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java4 declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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:.Java4, s:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java4): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java4 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4.G>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G.G> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + CONSTRUCTOR visibility:public <> () returnType:.G.G> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : T of .G + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4.G>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java4.G>) returnType:@[EnhancedNullability] T of .G [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java4 declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4.G> + 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 .Java4 + $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:.Java4.G>, s:@[EnhancedNullability] T of .G) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[EnhancedNullability] T of .Java4): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4.G> + VALUE_PARAMETER name:s index:0 type:@[EnhancedNullability] T of .G + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[EnhancedNullability] T of .Java4 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.String origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun bar (): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.String origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java1 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Int? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java3 visibility:public' type=@[EnhancedNullability] kotlin.Int? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k8 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int? declared in .D' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java3 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k10 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .E' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java4 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k12 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Int declared in .F' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + s: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[EnhancedNullability] T of .Java4 visibility:public' type=@[EnhancedNullability] kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k14 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[EnhancedNullability] T of .G declared in .G' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (s: @[EnhancedNullability] T of .G): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + s: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt new file mode 100644 index 00000000000..e934eb23188 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt @@ -0,0 +1,81 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +import org.jetbrains.annotations.NotNull; + +public class Java1<@NotNull T> { + public T a; + public T bar() { + return a; + } + public void foo(T s) {} +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +import org.jetbrains.annotations.Nullable; + +public class Java3<@Nullable T> { + public T a; + public T bar() { + return a; + } + public void foo(T s) {} +} + +// FILE: Java4.java +import org.jetbrains.annotations.NotNull; +public class Java4 { + public T a; + public T bar() { + return a; + } + public void foo(T s) {} +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() + +class C : Java2() + +class D : Java3() + +class E : Java3() + +class F : Java4() + +class G : Java4() + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k: Int = a.a + val k2: Int = a.bar() + a.foo(1) + + val k3: String = b.a + val k4: String = b.bar() + b.foo("") + + val k5: Int = c.a + val k6: Int = c.bar() + c.foo(1) + + val k7: Int? = d.a + val k8: Int? = d.bar() + d.foo(null) + + val k9: Int = e.a + val k10: Int = e.bar() + e.foo(1) + + val k11: Int = f.a + val k12: Int = f.bar() + f.foo(1) + + val k13: Int = g.a + val k14: Int = g.bar() + g.foo(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt.txt new file mode 100644 index 00000000000..bebc82e2f79 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt.txt @@ -0,0 +1,86 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k: Int = a(super).#a /*!! Int */ + val k2: Int = a.bar() /*!! Int */ + a.foo(s = 1) + val k3: String = b(super).#a /*!! String */ + val k4: String = b.bar() /*!! String */ + b.foo(s = "") + val k5: Int = c(super).#a /*!! Int */ + val k6: Int = c.bar() /*!! Int */ + c.foo(s = 1) + val k7: Int? = d(super).#a + val k8: Int? = d.bar() + d.foo(s = null) + val k9: Int = e(super).#a /*!! Int */ + val k10: Int = e.bar() /*!! Int */ + e.foo(s = 1) + val k11: Int = f(super).#a /*!! Int */ + val k12: Int = f.bar() /*!! Int */ + f.foo(s = 1) + val k13: Int = g(super).#a /*!! Int */ + val k14: Int = g.bar() /*!! Int */ + g.foo(s = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.sig.kt.txt new file mode 100644 index 00000000000..22651f1e894 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.sig.kt.txt @@ -0,0 +1,173 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.bar|-8608075298013083950[0] + // Public signature debug description: bar(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#foo(kotlin.Int{EnhancedNullability}){} + // Public signature: /A.foo|6054053236451526699[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability Int): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}1:0{EnhancedNullability} + // Public signature: /B.bar|582597716914558172[0] + // Public signature debug description: bar(){}1:0{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability T + + // CHECK: + // Mangled name: B#foo(1:0{EnhancedNullability}){} + // Public signature: /B.foo|-5059967198211209740[0] + // Public signature debug description: foo(1:0{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int{EnhancedNullability} + // Public signature: /C.bar|-8608075298013083950[0] + // Public signature debug description: bar(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Int + + // CHECK: + // Mangled name: C#foo(kotlin.Int{EnhancedNullability}){} + // Public signature: /C.foo|6054053236451526699[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability Int): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.bar|2978979494349169063[0] + // Public signature debug description: bar(){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Int? + + // CHECK: + // Mangled name: D#foo(kotlin.Int?{EnhancedNullability}){} + // Public signature: /D.foo|-4427753872183235141[0] + // Public signature debug description: foo(kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability Int?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Int{EnhancedNullability} + // Public signature: /E.bar|-8608075298013083950[0] + // Public signature debug description: bar(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Int + + // CHECK: + // Mangled name: E#foo(kotlin.Int{EnhancedNullability}){} + // Public signature: /E.foo|6054053236451526699[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability Int): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Int{EnhancedNullability} + // Public signature: /F.bar|-8608075298013083950[0] + // Public signature debug description: bar(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Int + + // CHECK: + // Mangled name: F#foo(kotlin.Int{EnhancedNullability}){} + // Public signature: /F.foo|6054053236451526699[0] + // Public signature debug description: foo(kotlin.Int{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}1:0{EnhancedNullability} + // Public signature: /G.bar|582597716914558172[0] + // Public signature debug description: bar(){}1:0{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability T + + // CHECK: + // Mangled name: G#foo(1:0{EnhancedNullability}){} + // Public signature: /G.foo|-5059967198211209740[0] + // Public signature debug description: foo(1:0{EnhancedNullability}){} + /* fake */ override fun foo(s: @EnhancedNullability T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G){} +// Public signature: /test|-5249852593213170382[0] +// Public signature debug description: test(A;B;C;D;E;F;G){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.ir.txt new file mode 100644 index 00000000000..d9cedce1a71 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.ir.txt @@ -0,0 +1,961 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $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:FINAL visibility:public superTypes:[.A]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:charAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Char + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun charAt (index: kotlin.Int): kotlin.Char declared in .B' + CONST Char type=kotlin.Char value='1' + FUN name:length visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun length (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun length (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:subSequence visibility:public modality:OPEN <> ($this:.B, start:kotlin.Int, end:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .D' + CONST Char type=kotlin.Char value='a' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public open length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.E) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.F, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .F' + CONST Char type=kotlin.Char value='a' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.G, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .G' + CONST Char type=kotlin.Char value='a' + FUN name:get visibility:public modality:OPEN <> ($this:.G, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .G' + CONST Char type=kotlin.Char value='b' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.H) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .H' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='a' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java3 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.CharSequence? [fake_override] + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:charAt visibility:public modality:OPEN <> ($this:.K, index:kotlin.Int) returnType:kotlin.Char + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun charAt (index: kotlin.Int): kotlin.Char declared in .K' + CONST Char type=kotlin.Char value='a' + FUN name:length visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + overridden: + public abstract fun length (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun length (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=1 + FUN name:subSequence visibility:public modality:OPEN <> ($this:.K, start:kotlin.Int, end:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .K' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .A]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.L) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .L' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.L) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .L' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; java.lang.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; java.lang.CharSequence]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.M) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .M' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.M) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .M' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.CharSequence? [fake_override] + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + 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.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Number) returnType:kotlin.Char + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Number + PROPERTY name:length visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Number + correspondingProperty: PROPERTY name:length visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A' type=kotlin.Char origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toString (): kotlin.String declared in .A' type=kotlin.String origin=null + $this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any + GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun length (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun charAt (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .B' type=kotlin.CharSequence origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .C' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .C' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .D' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .E' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .E' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .F' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .G' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .H' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .I' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .I' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .J' type=kotlin.Char origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun charAt (index: kotlin.Int): kotlin.Char declared in .K' type=kotlin.Char origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun length (): kotlin.Int declared in .K' type=kotlin.Int origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .L' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .M' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .M' type=kotlin.Char origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.kt.txt new file mode 100644 index 00000000000..d5a7942aa07 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.fir.kt.txt @@ -0,0 +1,238 @@ +class B : A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun charAt(index: Int): Char { + return '1' + } + + override fun length(): Int { + return 1 + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class F : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Number): Char { + return 'a' + } + +} + +class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override operator fun get(index: Number): Char { + return 'b' + } + +} + +class H : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Number): Char { + return 'a' + } + +} + +class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class J : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class K : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun charAt(index: Int): Char { + return 'a' + } + + override fun length(): Int { + return 1 + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class L : Java1, A { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class M : Java1, CharSequence { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface A : CharSequence { +} + +interface KotlinInterface { + abstract fun get(index: Number): Char + + abstract val length: Number + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M) { + a.length() /*~> Unit */ + a.charAt(p0 = 1) /*~> Unit */ + a.chars() /*~> Unit */ + a /*as Any */.toString() /*~> Unit */ + b.length() /*~> Unit */ + b.charAt(index = 1) /*~> Unit */ + b.subSequence(start = 1, end = 2) /*~> Unit */ + c.() /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.chars() /*~> Unit */ + d.() /*~> Unit */ + d.get(index = 1) /*~> Unit */ + d.isEmpty() /*~> Unit */ + e.() /*~> Unit */ + e.get(index = 1) /*~> Unit */ + e.isEmpty() /*~> Unit */ + e.codePoints() /*~> Unit */ + f.() /*~> Unit */ + f.isEmpty() /*~> Unit */ + f.get(index = 1) /*~> Unit */ + g.() /*~> Unit */ + g.get(index = 1) /*~> Unit */ + h.() /*~> Unit */ + h.get(index = 1) /*~> Unit */ + h.codePoints() /*~> Unit */ + i.() /*~> Unit */ + i.isEmpty() /*~> Unit */ + i.get(index = 1) /*~> Unit */ + i.codePoints() /*~> Unit */ + j.length() /*~> Unit */ + j.charAt(p0 = 1) /*~> Unit */ + k.charAt(index = 1) /*~> Unit */ + k.length() /*~> Unit */ + l.() /*~> Unit */ + l.get(index = 1) /*~> Unit */ + l.length() /*~> Unit */ + m.() /*~> Unit */ + m.length() /*~> Unit */ + m.get(index = 1) /*~> Unit */ + m.get(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.ir.txt new file mode 100644 index 00000000000..a1f8779fa1f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.ir.txt @@ -0,0 +1,960 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $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:FINAL visibility:public superTypes:[.A]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:charAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Char + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun charAt (index: kotlin.Int): kotlin.Char declared in .B' + CONST Char type=kotlin.Char value='1' + FUN name:length visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun length (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun length (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:subSequence visibility:public modality:OPEN <> ($this:.B, start:kotlin.Int, end:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .D' + CONST Char type=kotlin.Char value='a' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public open length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.E) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.F, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .F' + CONST Char type=kotlin.Char value='a' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.G, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .G' + CONST Char type=kotlin.Char value='a' + FUN name:get visibility:public modality:OPEN <> ($this:.G, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .G' + CONST Char type=kotlin.Char value='b' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.H) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .H' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Number) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Number): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Number + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Number): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='a' + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + public abstract length: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Number declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:codePoints visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + public abstract fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java3 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.CharSequence? [fake_override] + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:charAt visibility:public modality:OPEN <> ($this:.K, index:kotlin.Int) returnType:kotlin.Char + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun charAt (index: kotlin.Int): kotlin.Char declared in .K' + CONST Char type=kotlin.Char value='a' + FUN name:length visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + overridden: + public abstract fun length (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun length (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=1 + FUN name:subSequence visibility:public modality:OPEN <> ($this:.K, start:kotlin.Int, end:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .Java4 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .K' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .A]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.L) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .L' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.L) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .L' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; java.lang.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; java.lang.CharSequence]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.M) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .M' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.M) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .M' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:java.lang.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.CharSequence? [fake_override] + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + 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.lang.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Number) returnType:kotlin.Char + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Number + PROPERTY name:length visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Number + correspondingProperty: PROPERTY name:length visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .A' type=kotlin.Char origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .A' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toString (): kotlin.String declared in .A' type=kotlin.String origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun length (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun charAt (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): kotlin.CharSequence declared in .B' type=kotlin.CharSequence origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .C' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .C' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .D' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .E' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .E' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .F' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .G' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .H' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isEmpty (): kotlin.Boolean declared in kotlin.text' type=kotlin.Boolean origin=null + $receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .I' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun codePoints (): java.util.stream.IntStream declared in .I' type=java.util.stream.IntStream origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in .J' type=kotlin.Char origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun charAt (index: kotlin.Int): kotlin.Char declared in .K' type=kotlin.Char origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun length (): kotlin.Int declared in .K' type=kotlin.Int origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .L' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .M' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .M' type=kotlin.Char origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt new file mode 100644 index 00000000000..a2640ca4043 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt @@ -0,0 +1,207 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +import org.jetbrains.annotations.NotNull; + +public class Java1 implements CharSequence { + + @Override + public int length() { + return 0; + } + + @Override + public char charAt(int index) { + return 0; + } + + @NotNull + @Override + public CharSequence subSequence(int start, int end) { + return null; + } +} + +// FILE: Java2.java +import java.util.stream.IntStream; + +public interface Java2 { + public IntStream codePoints(); +} + +// FILE: Java3.java +import java.util.stream.IntStream; + +public interface Java3 { + public String toString(); + public IntStream codePoints(); +} + +// FILE: Java4.java +public abstract class Java4 implements A { } + +// FILE: 1.kt +import java.util.stream.IntStream + +interface A : java.lang.CharSequence //Kotlin ← Java + +class B : A { + override fun length(): Int { + return 1 + } + + override fun charAt(index: Int): Char { + return '1' + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return null!! + } +} + +class C : Java1() //Kotlin ← Java1 ← Java2 + +class D : Java1() { + override val length: Int + get() = 10 + + override fun get(index: Int): Char { + return 'a' + } +} + +class E : Java1(), Java2 { //Kotlin ← Java1, Java2 ← Java3 + override fun codePoints(): IntStream { + return null!! + } +} + +class F : Java1(), KotlinInterface { //Kotlin ← Java, Kotlin2 + override operator fun get(index: Number): Char { + return 'a' + } +} + +class G : Java1(), KotlinInterface { + override fun get(index: Int): Char { + return 'a' + } + override operator fun get(index: Number): Char { + return 'b' + } +} + +class H : Java1(), Java2, KotlinInterface { //Kotlin ← Java1, Java2, Kotlin2 + override operator fun get(index: Number): Char { + return 'a' + } + + override fun codePoints(): IntStream { + return null!! + } +} + +class I : Java1(), Java2, Java3 { //Kotlin ← Java1, Java2, Java3 + override fun codePoints(): IntStream { + return null!! + } + +} + +abstract class J : Java4() // Kotlin ← Java ← Kotlin ← Java + +class K : Java4() { + override fun length(): Int { + return 1 + } + + override fun charAt(index: Int): Char { + return 'a' + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return null!! + } +} + +abstract class L : Java1(), A { // Kotlin ← Java, Kotlin2 ← Java2, Java3 + override fun chars(): IntStream { + return null!! + } + override fun codePoints(): IntStream { + return null!! + } +} + +abstract class M : Java1(), java.lang.CharSequence { //Kotlin ← Java1, Java2 + override fun chars(): IntStream { + return null!! + } + + override fun codePoints(): IntStream { + return null!! + } +} + +interface KotlinInterface { + val length: Number + fun get(index: Number): Char +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M) { + a.length() + a.charAt(1) + a.chars() + a.toString() + + b.length() + b.charAt(1) + b.subSequence(1,2) + + c.length + c[1] + c.chars() + + d.length + d[1] + d.isEmpty() + + e.length + e[1] + e.isEmpty() + e.codePoints() + + f.length + f.isEmpty() + f[1] + + g.length + g[1] + + h.length + h[1] + h.codePoints() + + i.length + i.isEmpty() + i[1] + i.codePoints() + + j.length() + j.charAt(1) + + k.charAt(1) + k.length() + + l.length + l[1] + l.length() + + m.length + m.length() + m[1] + m.get(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt.txt new file mode 100644 index 00000000000..e8475aa39ea --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt.txt @@ -0,0 +1,238 @@ +class B : A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun charAt(index: Int): Char { + return '1' + } + + override fun length(): Int { + return 1 + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class F : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Number): Char { + return 'a' + } + +} + +class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override operator fun get(index: Number): Char { + return 'b' + } + +} + +class H : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Number): Char { + return 'a' + } + +} + +class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class J : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class K : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun charAt(index: Int): Char { + return 'a' + } + + override fun length(): Int { + return 1 + } + + override fun subSequence(start: Int, end: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class L : Java1, A { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class M : Java1, CharSequence { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface A : CharSequence { +} + +interface KotlinInterface { + abstract fun get(index: Number): Char + + abstract val length: Number + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M) { + a.length() /*~> Unit */ + a.charAt(p0 = 1) /*~> Unit */ + a.chars() /*~> Unit */ + a.toString() /*~> Unit */ + b.length() /*~> Unit */ + b.charAt(index = 1) /*~> Unit */ + b.subSequence(start = 1, end = 2) /*~> Unit */ + c.() /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.chars() /*~> Unit */ + d.() /*~> Unit */ + d.get(index = 1) /*~> Unit */ + d.isEmpty() /*~> Unit */ + e.() /*~> Unit */ + e.get(index = 1) /*~> Unit */ + e.isEmpty() /*~> Unit */ + e.codePoints() /*~> Unit */ + f.() /*~> Unit */ + f.isEmpty() /*~> Unit */ + f.get(index = 1) /*~> Unit */ + g.() /*~> Unit */ + g.get(index = 1) /*~> Unit */ + h.() /*~> Unit */ + h.get(index = 1) /*~> Unit */ + h.codePoints() /*~> Unit */ + i.() /*~> Unit */ + i.isEmpty() /*~> Unit */ + i.get(index = 1) /*~> Unit */ + i.codePoints() /*~> Unit */ + j.length() /*~> Unit */ + j.charAt(p0 = 1) /*~> Unit */ + k.charAt(index = 1) /*~> Unit */ + k.length() /*~> Unit */ + l.() /*~> Unit */ + l.get(index = 1) /*~> Unit */ + l.length() /*~> Unit */ + m.() /*~> Unit */ + m.length() /*~> Unit */ + m.get(index = 1) /*~> Unit */ + m.get(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.sig.kt.txt new file mode 100644 index 00000000000..77852200fcb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.sig.kt.txt @@ -0,0 +1,679 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#chars(){}java.util.stream.IntStream? + // Public signature: /B.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: B#codePoints(){}java.util.stream.IntStream? + // Public signature: /B.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: B#charAt(kotlin.Int){}kotlin.Char + // Public signature: /B.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + override fun charAt(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: B#length(){}kotlin.Int + // Public signature: /B.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: B#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + // Public signature: /B.subSequence|7954975239934934955[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + override fun subSequence(start: Int, end: Int): CharSequence + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#chars(){}java.util.stream.IntStream? + // Public signature: /C.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: C#codePoints(){}java.util.stream.IntStream? + // Public signature: /C.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Char + // Public signature: /C.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: C#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /C.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK: + // Mangled name: C{}length + // Public signature: /C.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#chars(){}java.util.stream.IntStream? + // Public signature: /D.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: D#codePoints(){}java.util.stream.IntStream? + // Public signature: /D.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: D#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /D.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Char + // Public signature: /D.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK: + // Mangled name: D{}length + // Public signature: /D.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#chars(){}java.util.stream.IntStream? + // Public signature: /E.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Int){}kotlin.Char + // Public signature: /E.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: E#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /E.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: E#codePoints(){}java.util.stream.IntStream + // Public signature: /E.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK: + // Mangled name: E{}length + // Public signature: /E.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#chars(){}java.util.stream.IntStream? + // Public signature: /F.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: F#codePoints(){}java.util.stream.IntStream? + // Public signature: /F.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Int){}kotlin.Char + // Public signature: /F.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: F#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /F.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Number){}kotlin.Char + // Public signature: /F.get|3168731888095368670[0] + // Public signature debug description: get(kotlin.Number){}kotlin.Char + override operator fun get(index: Number): Char + + // CHECK: + // Mangled name: F{}length + // Public signature: /F.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#chars(){}java.util.stream.IntStream? + // Public signature: /G.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: G#codePoints(){}java.util.stream.IntStream? + // Public signature: /G.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: G#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /G.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: G#get(kotlin.Int){}kotlin.Char + // Public signature: /G.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: G#get(kotlin.Number){}kotlin.Char + // Public signature: /G.get|3168731888095368670[0] + // Public signature debug description: get(kotlin.Number){}kotlin.Char + override operator fun get(index: Number): Char + + // CHECK: + // Mangled name: G{}length + // Public signature: /G.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#chars(){}java.util.stream.IntStream? + // Public signature: /H.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: H#get(kotlin.Int){}kotlin.Char + // Public signature: /H.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: H#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /H.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: H#codePoints(){}java.util.stream.IntStream + // Public signature: /H.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK JVM_IR: + // Mangled name: H#get(kotlin.Number){}kotlin.Char + // Public signature: /H.get|3168731888095368670[0] + // Public signature debug description: get(kotlin.Number){}kotlin.Char + override operator fun get(index: Number): Char + + // CHECK: + // Mangled name: H{}length + // Public signature: /H.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, Java2, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#chars(){}java.util.stream.IntStream? + // Public signature: /I.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: I#get(kotlin.Int){}kotlin.Char + // Public signature: /I.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: I#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /I.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: I#codePoints(){}java.util.stream.IntStream + // Public signature: /I.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK: + // Mangled name: I{}length + // Public signature: /I.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java4 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#charAt(kotlin.Int){}kotlin.Char + // Public signature: /J.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: J#chars(){}java.util.stream.IntStream? + // Public signature: /J.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: J#codePoints(){}java.util.stream.IntStream? + // Public signature: /J.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: J#length(){}kotlin.Int + // Public signature: /J.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: J#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence? + // Public signature: /J.subSequence|-4481341054013264804[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence? + abstract /* fake */ override fun subSequence(p0: Int, p1: Int): CharSequence? + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java4 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: K#chars(){}java.util.stream.IntStream? + // Public signature: /K.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: K#codePoints(){}java.util.stream.IntStream? + // Public signature: /K.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: K#charAt(kotlin.Int){}kotlin.Char + // Public signature: /K.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + override fun charAt(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: K#length(){}kotlin.Int + // Public signature: /K.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: K#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + // Public signature: /K.subSequence|7954975239934934955[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + override fun subSequence(start: Int, end: Int): CharSequence + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +abstract class L : Java1, A { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: L#charAt(kotlin.Int){}kotlin.Char + // Public signature: /L.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: L#get(kotlin.Int){}kotlin.Char + // Public signature: /L.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: L#length(){}kotlin.Int + // Public signature: /L.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: L#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /L.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: L#chars(){}java.util.stream.IntStream + // Public signature: /L.chars|1246952257971230815[0] + // Public signature debug description: chars(){}java.util.stream.IntStream + override fun chars(): IntStream + + // CHECK JVM_IR: + // Mangled name: L#codePoints(){}java.util.stream.IntStream + // Public signature: /L.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK: + // Mangled name: L{}length + // Public signature: /L.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +abstract class M : Java1, CharSequence { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: M#charAt(kotlin.Int){}kotlin.Char + // Public signature: /M.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: M#get(kotlin.Int){}kotlin.Char + // Public signature: /M.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + @Override + /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: M#length(){}kotlin.Int + // Public signature: /M.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: M#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /M.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: M#chars(){}java.util.stream.IntStream + // Public signature: /M.chars|1246952257971230815[0] + // Public signature debug description: chars(){}java.util.stream.IntStream + override fun chars(): IntStream + + // CHECK JVM_IR: + // Mangled name: M#codePoints(){}java.util.stream.IntStream + // Public signature: /M.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK: + // Mangled name: M{}length + // Public signature: /M.length|8693345930578737573[0] + // Public signature debug description: {}length + /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : CharSequence { + // CHECK JVM_IR: + // Mangled name: A#charAt(kotlin.Int){}kotlin.Char + // Public signature: /A.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: A#chars(){}java.util.stream.IntStream? + // Public signature: /A.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: A#codePoints(){}java.util.stream.IntStream? + // Public signature: /A.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: A#length(){}kotlin.Int + // Public signature: /A.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: A#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence? + // Public signature: /A.subSequence|-4481341054013264804[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence? + abstract /* fake */ override fun subSequence(p0: Int, p1: Int): CharSequence? + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#get(kotlin.Number){}kotlin.Char + // Public signature: /KotlinInterface.get|3168731888095368670[0] + // Public signature debug description: get(kotlin.Number){}kotlin.Char + abstract fun get(index: Number): Char + + // CHECK: + // Mangled name: KotlinInterface{}length + // Public signature: /KotlinInterface.length|8693345930578737573[0] + // Public signature debug description: {}length + abstract val length: Number + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Number + // Public signature: /KotlinInterface.length.|-867400481956796465[0] + // Public signature debug description: (){}kotlin.Number + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L;M){} +// Public signature: /test|-5618248177050682296[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L;M){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.ir.txt new file mode 100644 index 00000000000..9d3135384f5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.ir.txt @@ -0,0 +1,718 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.CharSequence]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence [fake_override] + overridden: + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .B' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.B]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .B + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .B + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .B + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .B + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .B + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.C, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .C' + CONST Char type=kotlin.Char value='1' + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.E, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .E' + CONST Char type=kotlin.Char value='1' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + public abstract length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence; .KotlinInterface]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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.lang.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + public open fun hashCode (): kotlin.Int declared in kotlin.CharSequence + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + public open fun toString (): kotlin.String declared in kotlin.CharSequence + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.F) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.F) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.F, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .F' + CONST Char type=kotlin.Char value='1' + FUN name:subSequence visibility:public modality:OPEN <> ($this:.F, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, start:kotlin.Int, end:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:start index:0 type:kotlin.Int + VALUE_PARAMETER name:end index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Any) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Any): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='2' + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='1' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .I.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.I [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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.lang.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + public open fun hashCode (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + public open fun toString (): kotlin.String declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.I, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .I' + CONST Char type=kotlin.Char value='a' + FUN name:subSequence visibility:public modality:OPEN <> ($this:.I, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .B' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .C' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .C' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .D' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .D' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .E' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .E' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .F' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Any): kotlin.Char declared in .F' type=kotlin.Char origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Double type=kotlin.Double value=1.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .G' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .G' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Any): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Double type=kotlin.Double value=1.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (start: kotlin.Int, end: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .H' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + start: CONST Int type=kotlin.Int value=1 + end: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .I' type=kotlin.CharSequence origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .I' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.kt.txt new file mode 100644 index 00000000000..09381343503 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.fir.kt.txt @@ -0,0 +1,186 @@ +abstract class A : CharSequence { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : B { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*B*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return '1' + } + +} + +abstract class D : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return '1' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +abstract class F : KotlinInterface, CharSequence, CharSequence { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Int): Char { + return '1' + } + + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Any): Char { + return '2' + } + + override operator fun get(index: Int): Char { + return '1' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +abstract class I : CharSequence, CharSequence { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract fun get(index: Any): Char + +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + b.() /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.subSequence(start = 1, end = 2) /*~> Unit */ + c.() /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.subSequence(start = 1, end = 2) /*~> Unit */ + d.() /*~> Unit */ + d.get(index = 1) /*~> Unit */ + d.chars() /*~> Unit */ + e.() /*~> Unit */ + e.get(index = 1) /*~> Unit */ + e.subSequence(start = 1, end = 2) /*~> Unit */ + f.() /*~> Unit */ + f.length() /*~> Unit */ + f.get(index = 1) /*~> Unit */ + f.get(index = 1.2) /*~> Unit */ + g.() /*~> Unit */ + g.get(index = 1) /*~> Unit */ + g.subSequence(start = 1, end = 2) /*~> Unit */ + h.() /*~> Unit */ + h.get(index = 1) /*~> Unit */ + h.get(index = 1.2) /*~> Unit */ + h.subSequence(start = 1, end = 2) /*~> Unit */ + i.() /*~> Unit */ + i.length() /*~> Unit */ + i.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + i.get(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.ir.txt new file mode 100644 index 00000000000..68eb3049ea5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.ir.txt @@ -0,0 +1,718 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.CharSequence]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence [fake_override] + overridden: + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .B' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.B]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .B + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .B + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .B + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .B + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .B + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.C, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .C' + CONST Char type=kotlin.Char value='1' + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.E, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .E' + CONST Char type=kotlin.Char value='1' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + public abstract length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence; .KotlinInterface]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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.lang.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + public open fun hashCode (): kotlin.Int declared in kotlin.CharSequence + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + public open fun toString (): kotlin.String declared in kotlin.CharSequence + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.F) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.F) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.F, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .F' + CONST Char type=kotlin.Char value='1' + FUN name:subSequence visibility:public modality:OPEN <> ($this:.F, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence, index:kotlin.Int) returnType:kotlin.Char [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract length: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.CharSequence) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:chars visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + FUN FAKE_OVERRIDE name:codePoints visibility:public modality:OPEN <> ($this:kotlin.CharSequence) returnType:@[FlexibleNullability] java.util.stream.IntStream? [fake_override] + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.CharSequence + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:subSequence visibility:public modality:OPEN <> ($this:.Java1, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.CharSequence [fake_override] + annotations: + NotNull(value = ) + Override + overridden: + public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Any) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Any): kotlin.Char declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Any): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='2' + FUN name:get visibility:public modality:OPEN <> ($this:.H, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .H' + CONST Char type=kotlin.Char value='1' + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract length: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'length: kotlin.Int declared in .I.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:length visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:length type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> (length:kotlin.Int) returnType:.I [primary] + VALUE_PARAMETER name:length index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[java.lang.CharSequence; kotlin.CharSequence]' + FUN FAKE_OVERRIDE name:charAt visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence, p0:kotlin.Int) returnType:kotlin.Char [fake_override] + overridden: + public abstract fun charAt (p0: kotlin.Int): kotlin.Char declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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.lang.CharSequence + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.CharSequence + public open fun hashCode (): kotlin.Int declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:length visibility:public modality:ABSTRACT <> ($this:java.lang.CharSequence) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun length (): kotlin.Int declared in java.lang.CharSequence + $this: VALUE_PARAMETER name: type:java.lang.CharSequence + 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.lang.CharSequence + public open fun toString (): kotlin.String declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:chars visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun chars (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:codePoints visibility:public modality:OPEN <> ($this:.I) returnType:java.util.stream.IntStream + overridden: + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in java.lang.CharSequence + public open fun codePoints (): @[FlexibleNullability] java.util.stream.IntStream? declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun codePoints (): java.util.stream.IntStream declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:get visibility:public modality:OPEN <> ($this:.I, index:kotlin.Int) returnType:kotlin.Char [operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Char declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Char declared in .I' + CONST Char type=kotlin.Char value='a' + FUN name:subSequence visibility:public modality:OPEN <> ($this:.I, startIndex:kotlin.Int, endIndex:kotlin.Int) returnType:kotlin.CharSequence + overridden: + public abstract fun subSequence (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.CharSequence? declared in java.lang.CharSequence + public abstract fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in kotlin.CharSequence + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:startIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:endIndex index:1 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, index:kotlin.Any) returnType:kotlin.Char + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:index index:0 type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .B' type=kotlin.Char origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .B' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .C' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .C' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .D' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun chars (): @[FlexibleNullability] java.util.stream.IntStream? declared in .D' type=@[FlexibleNullability] java.util.stream.IntStream? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .E' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .E' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .F' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Any): kotlin.Char declared in .F' type=kotlin.Char origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Double type=kotlin.Double value=1.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (index: kotlin.Int): kotlin.Char declared in .G' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .G' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Any): kotlin.Char declared in .H' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + index: CONST Double type=kotlin.Double value=1.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): @[EnhancedNullability] kotlin.CharSequence declared in .H' type=@[EnhancedNullability] kotlin.CharSequence origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun length (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun subSequence (startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.CharSequence declared in .I' type=kotlin.CharSequence origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + startIndex: CONST Int type=kotlin.Int value=1 + endIndex: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Char declared in .I' type=kotlin.Char origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt new file mode 100644 index 00000000000..a963c52a08f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt @@ -0,0 +1,132 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +import org.jetbrains.annotations.NotNull; + +public abstract class Java1 extends A { + @NotNull + @Override + public CharSequence subSequence(int start, int end) { + return null; + } +} + +// FILE: Java2.java +public interface Java2 extends CharSequence { } + +// FILE: 1.kt +import java.util.stream.IntStream + +abstract class A : CharSequence + +abstract class B : Java1() //Kotlin ← Java ← Kotlin ← Kotlin + +class C(override val length: Int) : B() { + override fun get(index: Int): Char { + return '1' + } +} + +abstract class D : Java1(), Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class E : Java1(), Java2 { + override val length: Int + get() = 10 + + override fun get(index: Int): Char { + return '1' + } +} + +abstract class F(override val length: Int) : java.lang.CharSequence, CharSequence, KotlinInterface { //Kotlin ← Java, Kotlin1, Kotlin2 + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return null!! + } + + override fun chars(): IntStream { + return null!! + } + + override fun codePoints(): IntStream { + return null!! + } + + override fun get(index: Int): Char { + return '1' + } +} + +abstract class G : Java1(), KotlinInterface // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class H : Java1(), KotlinInterface { + override val length: Int + get() = 10 + override fun get(index: Int): Char { + return '1' + } + override operator fun get(index: Any): Char { + return '2' + } +} + +abstract class I(override val length: Int) : java.lang.CharSequence, CharSequence { + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return null!! + } + + override fun chars(): IntStream { + return null!! + } + + override fun codePoints(): IntStream { + return null!! + } + + override fun get(index: Int): Char { + return 'a' + } +} + +interface KotlinInterface { + fun get(index: Any): Char +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I){ + b.length + b[1] + b.get(1) + b.subSequence(1,2) + + c.length + c[1] + c.subSequence(1,2) + + d.length + d[1] + d.chars() + + e.length + e[1] + e.subSequence(1,2) + + f.length + f.length() + f[1] + f.get(1.2) + + g.length + g[1] + g.subSequence(1,2) + + h.length + h[1] + h[1.2] + h.subSequence(1,2) + + i.length + i.length() + i.subSequence(1,2) + i[1] +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt.txt new file mode 100644 index 00000000000..d9e2310d607 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt.txt @@ -0,0 +1,186 @@ +abstract class A : CharSequence { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : B { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*B*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return '1' + } + +} + +abstract class D : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Int): Char { + return '1' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +abstract class F : KotlinInterface, CharSequence, CharSequence { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Int): Char { + return '1' + } + + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(index: Any): Char { + return '2' + } + + override operator fun get(index: Int): Char { + return '1' + } + + override val length: Int + override get(): Int { + return 10 + } + +} + +abstract class I : CharSequence, CharSequence { + override val length: Int + field = length + override get + + constructor(length: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun chars(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun codePoints(): IntStream { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun get(index: Int): Char { + return 'a' + } + + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract fun get(index: Any): Char + +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + b.() /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + c.() /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + d.() /*~> Unit */ + d.get(index = 1) /*~> Unit */ + d.chars() /*~> Unit */ + e.() /*~> Unit */ + e.get(index = 1) /*~> Unit */ + e.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + f.() /*~> Unit */ + f.length() /*~> Unit */ + f.get(index = 1) /*~> Unit */ + f.get(index = 1.2) /*~> Unit */ + g.() /*~> Unit */ + g.get(index = 1) /*~> Unit */ + g.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + h.() /*~> Unit */ + h.get(index = 1) /*~> Unit */ + h.get(index = 1.2) /*~> Unit */ + h.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + i.() /*~> Unit */ + i.length() /*~> Unit */ + i.subSequence(startIndex = 1, endIndex = 2) /*~> Unit */ + i.get(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.sig.kt.txt new file mode 100644 index 00000000000..6e23fa9961d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.sig.kt.txt @@ -0,0 +1,488 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : CharSequence { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#chars(){}java.util.stream.IntStream? + // Public signature: /A.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: A#codePoints(){}java.util.stream.IntStream? + // Public signature: /A.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Char + // Public signature: /A.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + abstract /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: A#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + // Public signature: /A.subSequence|7954975239934934955[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + abstract /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): CharSequence + + // CHECK: + // Mangled name: A{}length + // Public signature: /A.length|8693345930578737573[0] + // Public signature debug description: {}length + abstract /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#chars(){}java.util.stream.IntStream? + // Public signature: /B.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: B#codePoints(){}java.util.stream.IntStream? + // Public signature: /B.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Char + // Public signature: /B.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + abstract /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: B#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /B.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK: + // Mangled name: B{}length + // Public signature: /B.length|8693345930578737573[0] + // Public signature debug description: {}length + abstract /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : B { + // CHECK: + // Mangled name: C{}length + // Public signature: /C.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(length: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#chars(){}java.util.stream.IntStream? + // Public signature: /C.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: C#codePoints(){}java.util.stream.IntStream? + // Public signature: /C.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: C#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /C.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Char + // Public signature: /C.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#chars(){}java.util.stream.IntStream? + // Public signature: /D.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: D#codePoints(){}java.util.stream.IntStream? + // Public signature: /D.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Char + // Public signature: /D.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + abstract /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: D#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /D.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK: + // Mangled name: D{}length + // Public signature: /D.length|8693345930578737573[0] + // Public signature debug description: {}length + abstract /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#chars(){}java.util.stream.IntStream? + // Public signature: /E.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: E#codePoints(){}java.util.stream.IntStream? + // Public signature: /E.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: E#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /E.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Int){}kotlin.Char + // Public signature: /E.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK: + // Mangled name: E{}length + // Public signature: /E.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : KotlinInterface, CharSequence, CharSequence { + // CHECK: + // Mangled name: F{}length + // Public signature: /F.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(length: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#charAt(kotlin.Int){}kotlin.Char + // Public signature: /F.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Any){}kotlin.Char + // Public signature: /F.get|3170591532530308767[0] + // Public signature debug description: get(kotlin.Any){}kotlin.Char + abstract /* fake */ override fun get(index: Any): Char + + // CHECK JVM_IR: + // Mangled name: F#length(){}kotlin.Int + // Public signature: /F.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: F#chars(){}java.util.stream.IntStream + // Public signature: /F.chars|1246952257971230815[0] + // Public signature debug description: chars(){}java.util.stream.IntStream + override fun chars(): IntStream + + // CHECK JVM_IR: + // Mangled name: F#codePoints(){}java.util.stream.IntStream + // Public signature: /F.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Int){}kotlin.Char + // Public signature: /F.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: F#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + // Public signature: /F.subSequence|7954975239934934955[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#chars(){}java.util.stream.IntStream? + // Public signature: /G.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: G#codePoints(){}java.util.stream.IntStream? + // Public signature: /G.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: G#get(kotlin.Any){}kotlin.Char + // Public signature: /G.get|3170591532530308767[0] + // Public signature debug description: get(kotlin.Any){}kotlin.Char + abstract /* fake */ override fun get(index: Any): Char + + // CHECK JVM_IR: + // Mangled name: G#get(kotlin.Int){}kotlin.Char + // Public signature: /G.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + abstract /* fake */ override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: G#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /G.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK: + // Mangled name: G{}length + // Public signature: /G.length|8693345930578737573[0] + // Public signature debug description: {}length + abstract /* fake */ override val length: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#chars(){}java.util.stream.IntStream? + // Public signature: /H.chars|3567322254123962192[0] + // Public signature debug description: chars(){}java.util.stream.IntStream? + /* fake */ override fun chars(): IntStream? + + // CHECK JVM_IR: + // Mangled name: H#codePoints(){}java.util.stream.IntStream? + // Public signature: /H.codePoints|4245234750821486131[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream? + /* fake */ override fun codePoints(): IntStream? + + // CHECK JVM_IR: + // Mangled name: H#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + // Public signature: /H.subSequence|5195057419205148885[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence{EnhancedNullability} + @Override + /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): @EnhancedNullability CharSequence + + // CHECK JVM_IR: + // Mangled name: H#get(kotlin.Any){}kotlin.Char + // Public signature: /H.get|3170591532530308767[0] + // Public signature debug description: get(kotlin.Any){}kotlin.Char + override operator fun get(index: Any): Char + + // CHECK JVM_IR: + // Mangled name: H#get(kotlin.Int){}kotlin.Char + // Public signature: /H.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK: + // Mangled name: H{}length + // Public signature: /H.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : CharSequence, CharSequence { + // CHECK: + // Mangled name: I{}length + // Public signature: /I.length|8693345930578737573[0] + // Public signature debug description: {}length + override val length: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.length.|2176130084070422186[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: I#(kotlin.Int){} + // Public signature: /I.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(length: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#charAt(kotlin.Int){}kotlin.Char + // Public signature: /I.charAt|7510361910485130692[0] + // Public signature debug description: charAt(kotlin.Int){}kotlin.Char + abstract /* fake */ override fun charAt(p0: Int): Char + + // CHECK JVM_IR: + // Mangled name: I#length(){}kotlin.Int + // Public signature: /I.length|2334822652264595979[0] + // Public signature debug description: length(){}kotlin.Int + abstract /* fake */ override fun length(): Int + + // CHECK JVM_IR: + // Mangled name: I#chars(){}java.util.stream.IntStream + // Public signature: /I.chars|1246952257971230815[0] + // Public signature debug description: chars(){}java.util.stream.IntStream + override fun chars(): IntStream + + // CHECK JVM_IR: + // Mangled name: I#codePoints(){}java.util.stream.IntStream + // Public signature: /I.codePoints|-6284654057150065431[0] + // Public signature debug description: codePoints(){}java.util.stream.IntStream + override fun codePoints(): IntStream + + // CHECK JVM_IR: + // Mangled name: I#get(kotlin.Int){}kotlin.Char + // Public signature: /I.get|6519934306502810002[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Char + override operator fun get(index: Int): Char + + // CHECK JVM_IR: + // Mangled name: I#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + // Public signature: /I.subSequence|7954975239934934955[0] + // Public signature debug description: subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence + override fun subSequence(startIndex: Int, endIndex: Int): CharSequence + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#get(kotlin.Any){}kotlin.Char + // Public signature: /KotlinInterface.get|3170591532530308767[0] + // Public signature debug description: get(kotlin.Any){}kotlin.Char + abstract fun get(index: Any): Char + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H;I){} +// Public signature: /test|2768829396992774586[0] +// Public signature debug description: test(B;C;D;E;F;G;H;I){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..623a4565205 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.ir.txt @@ -0,0 +1,355 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; java.util.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; java.util.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public abstract fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public abstract fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:replaceAll visibility:public modality:OPEN <> ($this:.A, operator:java.util.function.UnaryOperator) returnType:kotlin.Unit + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.List>): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:operator index:0 type:java.util.function.UnaryOperator + BLOCK_BODY + FUN name:sort visibility:public modality:OPEN <> ($this:.A, c:java.util.Comparator?) returnType:kotlin.Unit + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:java.util.Comparator? + BLOCK_BODY + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..688f2e77fc4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.kt.txt @@ -0,0 +1,27 @@ +abstract class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun replaceAll(operator: UnaryOperator) { + } + + override fun sort(c: Comparator?) { + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.get(p0 = 1) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..34ea05a06a8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,382 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /A.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /A.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int){}kotlin.Int? + // Public signature: /A.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator){} + // Public signature: /A.replaceAll|7275711414434415359[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator){} + override fun replaceAll(operator: UnaryOperator): Unit + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|-1789248613924224861[0] + // Public signature debug description: sort(java.util.Comparator?){} + override fun sort(c: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|2868691358089968892[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.ir.txt new file mode 100644 index 00000000000..e92b641a2af --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.ir.txt @@ -0,0 +1,358 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; java.util.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; java.util.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public abstract fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public abstract fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:replaceAll visibility:public modality:OPEN <> ($this:.A, operator:java.util.function.UnaryOperator) returnType:kotlin.Unit + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.List>): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:operator index:0 type:java.util.function.UnaryOperator + BLOCK_BODY + FUN name:sort visibility:public modality:OPEN <> ($this:.A, c:java.util.Comparator?) returnType:kotlin.Unit + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:java.util.Comparator? + BLOCK_BODY + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt new file mode 100644 index 00000000000..a40d51cc567 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt @@ -0,0 +1,26 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: 1.kt +import java.util.* +import java.util.function.UnaryOperator +import kotlin.Comparator + +abstract class A : LinkedList(), java.util.List { + override fun spliterator(): Spliterator { + return null!! + } + override fun sort(c: Comparator?) { } + override fun replaceAll(operator: UnaryOperator) { } +} + +fun test(a: A){ + a.size + a.add(1) + a.get(1) + a.remove() + a.removeAt(1) + a.remove(element = 1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt.txt new file mode 100644 index 00000000000..6eb6a736c7e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt.txt @@ -0,0 +1,27 @@ +abstract class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun replaceAll(operator: UnaryOperator) { + } + + override fun sort(c: Comparator?) { + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.get(index = 1) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..396a9f2853c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.sig.kt.txt @@ -0,0 +1,382 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /A.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /A.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int){}kotlin.Int? + // Public signature: /A.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator){} + // Public signature: /A.replaceAll|7275711414434415359[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator){} + override fun replaceAll(operator: UnaryOperator): Unit + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|-1789248613924224861[0] + // Public signature debug description: sort(java.util.Comparator?){} + override fun sort(c: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|2868691358089968892[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..fcec33fd110 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.ir.txt @@ -0,0 +1,1325 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..d9af4be8bd0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.kt.txt @@ -0,0 +1,95 @@ +class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class B : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun remove(): Int { + return 1 + } + + override fun remove(element: Int): Boolean { + return true + } + + override operator fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 2 + } + +} + +class C : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class D : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override operator fun get(index: Int): Int? { + return 2 + } + + override fun remove(): Int? { + return 2 + } + + override fun remove(element: Int?): Boolean { + return true + } + + override operator fun removeAt(index: Int): Int? { + return 2 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.get(p0 = 0) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = 1) /*~> Unit */ + b.get(p0 = 0) /*~> Unit */ + b.remove() /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(p0 = 1) /*~> Unit */ + c.get(p0 = 0) /*~> Unit */ + c.remove() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ + c.remove(p0 = 1) /*~> Unit */ + d.() /*~> Unit */ + d.add(p0 = 1) /*~> Unit */ + d.get(index = 0) /*~> Unit */ + d.remove() /*~> Unit */ + d.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..7772e86a49f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.fir.sig.kt.txt @@ -0,0 +1,1441 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, List { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: B#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int + // Public signature: /B.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override operator fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList, MutableList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /C.add|8743200403488922753[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: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|2130778526938791222[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: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-8669946162725911871[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: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|-2468276587626376870[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: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.get|7975012209569221001[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: C#getFirst(){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.getFirst|-2778219599885152153[0] + // Public signature debug description: getFirst(){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.getLast|1457093164976062878[0] + // Public signature debug description: getLast(){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|6493015954228032214[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: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|4920074937927144900[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: C#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|9019132369114162808[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: C#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.set|6213268196513171993[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: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-4774771961505020315[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: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList, MutableList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /D.add|8743200403488922753[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: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|2130778526938791222[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: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-8669946162725911871[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: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|-2468276587626376870[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: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.getFirst|-2778219599885152153[0] + // Public signature debug description: getFirst(){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.getLast|1457093164976062878[0] + // Public signature debug description: getLast(){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|6493015954228032214[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: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|4920074937927144900[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: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|9019132369114162808[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: D#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.set|6213268196513171993[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: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|-4774771961505020315[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: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int? + // Public signature: /D.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + override operator fun get(index: Int): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int? + // Public signature: /D.removeAt|4962369383997844352[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int? + override operator fun removeAt(index: Int): Int? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.ir.txt new file mode 100644 index 00000000000..c09231ceb20 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.ir.txt @@ -0,0 +1,1337 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt new file mode 100644 index 00000000000..ebb71e13e1e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt @@ -0,0 +1,70 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: 1.kt +import java.util.* + +class A : LinkedList(), List + +class B : LinkedList(), List { + override fun remove(): Int { + return 1 + } + override fun removeAt(index: Int): Int { + return 1 + } + override fun remove(element: Int): Boolean { + return true + } + override val size: Int + get() = 2 +} + +class C : LinkedList(), MutableList + +class D : LinkedList(), MutableList{ + override fun get(index: Int): Int? { + return 2 + } + override fun remove(): Int? { + return 2 + } + override fun removeAt(index: Int): Int? { + return 2 + } + override fun remove(element: Int?): Boolean { + return true + } +} + +fun test(a: A, b: B, c: C, d: D){ + a.size + a.add(1) + a.get(0) + a.remove() + a.removeAt(1) + a.remove(1) + + b.size + b.add(1) + b.get(0) + b.remove() + b.removeAt(1) + b.remove(1) + + c.size + c.add(1) + c.get(0) + c.remove() + c.removeAt(1) + c.remove(1) + + d.size + d.add(1) + d.get(0) + d.remove() + d.removeAt(1) + d.remove(1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt.txt new file mode 100644 index 00000000000..cce69ceeed5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt.txt @@ -0,0 +1,95 @@ +class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun remove(): Int { + return 1 + } + + override fun remove(element: Int): Boolean { + return true + } + + override fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 2 + } + +} + +class C : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class D : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override operator fun get(index: Int): Int? { + return 2 + } + + override fun remove(): Int? { + return 2 + } + + override fun remove(element: Int?): Boolean { + return true + } + + override fun removeAt(index: Int): Int? { + return 2 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.get(index = 0) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.get(index = 0) /*~> Unit */ + b.remove() /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.get(index = 0) /*~> Unit */ + c.remove() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + d.() /*~> Unit */ + d.add(element = 1) /*~> Unit */ + d.get(index = 0) /*~> Unit */ + d.remove() /*~> Unit */ + d.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..27474133bd3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.sig.kt.txt @@ -0,0 +1,1441 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, List { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int + // Public signature: /B.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList, MutableList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /C.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.get|7975012209569221001[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList, MutableList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /D.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int? + // Public signature: /D.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + override operator fun get(index: Int): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int? + // Public signature: /D.removeAt|4962369383997844352[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int? + override fun removeAt(index: Int): Int? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.ir.txt new file mode 100644 index 00000000000..219750e89ef --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.ir.txt @@ -0,0 +1,895 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:removeAt visibility:public modality:OPEN <> ($this:.C, index:kotlin.Int) returnType:kotlin.Int [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CALL 'public open fun (): kotlin.Int declared in java.util.LinkedList' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedList modality:OPEN visibility:public superTypes:[java.util.AbstractSequentialList<@[FlexibleNullability] E of java.util.LinkedList?>; java.util.Deque<@[FlexibleNullability] E of java.util.LinkedList?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableList]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.' type=.C origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.kt.txt new file mode 100644 index 00000000000..ebd7ddf6a77 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.kt.txt @@ -0,0 +1,59 @@ +class B : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class C : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun remove(): Int { + return 1 + } + + override operator fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return super.() + } + +} + +class D : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +fun test(b: B, c: C, d: D) { + b.get(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(p0 = 1) /*~> Unit */ + b.removeAt(p0 = 1) /*~> Unit */ + c.get(p0 = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(p0 = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(p0 = 1) /*~> Unit */ + c.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..731e2e2cec2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.fir.sig.kt.txt @@ -0,0 +1,1082 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: B#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /C.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: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.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: C#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /C.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /C.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.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: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.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: C#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.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: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.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: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.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: C#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /C.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: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.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: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int + // Public signature: /C.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /C.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override operator fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /D.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: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.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: D#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /D.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /D.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.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: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.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: D#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.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: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.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: D#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.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: D#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /D.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: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.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: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-8823403443617116000[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.ir.txt new file mode 100644 index 00000000000..13385c58c4b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.ir.txt @@ -0,0 +1,904 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:removeAt visibility:public modality:OPEN <> ($this:.C, index:kotlin.Int) returnType:kotlin.Int + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CALL 'public open fun (): kotlin.Int declared in java.util.LinkedList' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedList modality:OPEN visibility:public superTypes:[java.util.AbstractSequentialList<@[FlexibleNullability] E of java.util.LinkedList?>; java.util.Deque<@[FlexibleNullability] E of java.util.LinkedList?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableList]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.' type=.C origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt new file mode 100644 index 00000000000..45d0dcac763 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt @@ -0,0 +1,45 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: 1.kt +import java.util.* + +class B : LinkedList() + +class C: LinkedList() { + override val size: Int + get() = super.size + + override fun remove(): Int { + return 1 + } + override fun removeAt(index: Int): Int { + return 1 + } +} + +class D : LinkedList() { + override fun remove(element: Int): Boolean { + return true + } +} + +fun test(b: B, c: C, d: D){ + b.get(1) + b.size + b.add(1) + b.remove() + b.remove(1) + b.removeAt(1) + + c.get(1) + c.size + c.add(1) + c.remove() + c.remove(1) + c.removeAt(1) + + d.remove(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt.txt new file mode 100644 index 00000000000..ba9fb586873 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt.txt @@ -0,0 +1,59 @@ +class B : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class C : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun remove(): Int { + return 1 + } + + override fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return super.() + } + +} + +class D : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +fun test(b: B, c: C, d: D) { + b.get(index = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(p0 = 1) /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.sig.kt.txt new file mode 100644 index 00000000000..41aa938aac9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.sig.kt.txt @@ -0,0 +1,1082 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /C.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.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: C#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /C.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int + // Public signature: /C.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /C.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /D.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.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: D#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /D.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-8823403443617116000[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..217dbff49b0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.ir.txt @@ -0,0 +1,444 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=2 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .B' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..47df1f39eab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.kt.txt @@ -0,0 +1,47 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun remove(element: Int?): Boolean { + return true + } + + override operator fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(p0 = null) /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.add(p0 = 2, p1 = 2) + a.get(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = null) /*~> Unit */ + b.add(p0 = 2) /*~> Unit */ + b.add(p0 = 2, p1 = 2) + b.get(p0 = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..03164a732a8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /A.add|8743200403488922753[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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|2130778526938791222[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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8669946162725911871[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: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-2468276587626376870[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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.get|7975012209569221001[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: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|6493015954228032214[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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|4920074937927144900[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: A#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|9019132369114162808[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: A#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.set|6213268196513171993[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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|-4774771961505020315[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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /B.add|8743200403488922753[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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|2130778526938791222[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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8669946162725911871[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: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-2468276587626376870[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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: B#ensureCapacity(kotlin.Int){} + // Public signature: /B.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.get|7975012209569221001[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: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|6493015954228032214[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: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|4920074937927144900[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: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|9019132369114162808[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: B#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.set|6213268196513171993[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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|-4774771961505020315[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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#trimToSize(){} + // Public signature: /B.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override operator fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.ir.txt new file mode 100644 index 00000000000..fe2b34f7dd0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.ir.txt @@ -0,0 +1,450 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=2 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=2 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=2 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .B' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt new file mode 100644 index 00000000000..4b956f31716 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt @@ -0,0 +1,41 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: Java1.java +import java.util.ArrayList; +public class Java1 extends ArrayList{ } + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun remove(element: Int?): Boolean { + return true + } + override val size: Int + get() = 5 + + override fun removeAt(index: Int): Int { + return 1 + } +} + +fun test(a: A, b: B) { + a.size + a.add(null) + a.add(1) + a.add(2,2) + a.get(1) + a.remove(1) + a.removeAt(1) + + b.size + b.add(null) + b.add(2) + b.add(2,2) + b.get(1) + b.remove(null) + b.removeAt(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt.txt new file mode 100644 index 00000000000..52a41a63db2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt.txt @@ -0,0 +1,47 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun remove(element: Int?): Boolean { + return true + } + + override fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(index = 2, element = 2) + a.get(index = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.add(element = 2) /*~> Unit */ + b.add(index = 2, element = 2) + b.get(index = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..8cb161a760d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /A.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.get|7975012209569221001[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /B.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: B#ensureCapacity(kotlin.Int){} + // Public signature: /B.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.get|7975012209569221001[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#trimToSize(){} + // Public signature: /B.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..51cd05fb512 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.ir.txt @@ -0,0 +1,217 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1, i:kotlin.Int, integer:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (i: kotlin.Int, integer: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:integer index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1, i:kotlin.Int, integer:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (i: kotlin.Int, integer: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:integer index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun add (i: kotlin.Int, integer: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + integer: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun removeFirst (): T of kotlin.collections.removeFirst declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..0d70731579d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.fir.kt.txt @@ -0,0 +1,22 @@ +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun removeAt(index: Int): Int { + return 1 + } + +} + +fun test(b: B) { + b.() /*~> Unit */ + b.add(i = 1, integer = 1) + b.add(element = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.removeFirst<@FlexibleNullability Int?>() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.ir.txt new file mode 100644 index 00000000000..723d772af97 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.ir.txt @@ -0,0 +1,220 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (index: kotlin.Int, element: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1, index:kotlin.Int, element:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (index: kotlin.Int, element: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun add (index: kotlin.Int, element: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun removeFirst (): T of kotlin.collections.removeFirst declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt new file mode 100644 index 00000000000..b1973698d21 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt @@ -0,0 +1,44 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +import kotlin.collections.AbstractMutableList; + +abstract public class Java1 extends AbstractMutableList { + @Override + public int getSize() { + return 0; + } + + @Override + public void add(int i, Integer integer) {} + + @Override + public Integer get(int index) { + return null; + } + + @Override + public Integer set(int i, Integer integer) { + return null; + } +} + +// FILE: 1.kt +class B : Java1() { + override fun removeAt(index: Int): Int { + return 1 + } +} + +fun test(b: B){ + b.size + b.add(1,1) + b.add(1) + b.get(1) + b.remove(1) + b.removeAt(1) + b.removeFirst() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt.txt new file mode 100644 index 00000000000..bd6c5325be0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt.txt @@ -0,0 +1,22 @@ +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun removeAt(index: Int): Int { + return 1 + } + +} + +fun test(b: B) { + b.() /*~> Unit */ + b.add(index = 1, element = 1) + b.add(element = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.removeFirst<@FlexibleNullability Int?>() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..00ef193671e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.sig.kt.txt @@ -0,0 +1,230 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int?){} + // Public signature: /B.add|-5486431830360677201[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?){} + @Override + /* fake */ override fun add(index: Int, element: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1173928566007133635[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int? + // Public signature: /B.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + @Override + /* fake */ override operator fun get(index: Int): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int?){}kotlin.Int + // Public signature: /B.indexOf|-244468326948914394[0] + // Public signature debug description: indexOf(kotlin.Int?){}kotlin.Int + /* fake */ override fun indexOf(element: Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(kotlin.Int?){}kotlin.Int + // Public signature: /B.lastIndexOf|2149510345140709255[0] + // Public signature debug description: lastIndexOf(kotlin.Int?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: Int?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator + // Public signature: /B.listIterator|-8997187377259144016[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + // Public signature: /B.listIterator|8663078173724128350[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int?){}kotlin.Int? + // Public signature: /B.set|-8721540345699991531[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?){}kotlin.Int? + @Override + /* fake */ override operator fun set(index: Int, element: Int?): Int? + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + // Public signature: /B.subList|294954483403744157[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(B){} +// Public signature: /test|3809392349795657853[0] +// Public signature debug description: test(B){} +fun test(b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..dad3ca96f4d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,2593 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .Java2; kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .Java2; kotlin.collections.MutableCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java2, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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 .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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 .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .KotlinInterface; kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .KotlinInterface; kotlin.collections.MutableCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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 .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? declared in .C + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + 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 .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + public abstract fun remove (i: kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: kotlin.Any?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection) returnType:@[RawType] kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public open fun iterator (): @[RawType] kotlin.collections.MutableIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: kotlin.Any?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (): @[RawType] kotlin.collections.MutableListIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[RawType] kotlin.collections.MutableListIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java2, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun set (index: kotlin.Int, element: kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List) returnType:@[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableList [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[RawType] kotlin.collections.MutableList declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.E] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .E' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.E]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + 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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:index index:0 type: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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: kotlin.Any?): kotlin.Int declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection) returnType:@[RawType] kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public open fun iterator (): @[RawType] kotlin.collections.MutableIterator declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: kotlin.Any?): kotlin.Int declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (): @[RawType] kotlin.collections.MutableListIterator declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[RawType] kotlin.collections.MutableListIterator declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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 .E + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun set (index: kotlin.Int, element: kotlin.Any?): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List) returnType:@[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableList [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[RawType] kotlin.collections.MutableList declared in .E + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .E + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .E + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .E + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .F' + CONST Boolean type=kotlin.Boolean value=false + 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:.Java1) 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 .E + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .KotlinInterface2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .KotlinInterface2 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + 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 .KotlinInterface2 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.MutableCollection) 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.G] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .G + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .G' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.G]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:contains visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun contains (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=false + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type: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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (p0: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.List, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (p0: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.List, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.List) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT ($this:java.util.List, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>? [fake_override] + overridden: + public abstract fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface3.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface3.toArray?>? declared in .KotlinInterface3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>? + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.List) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java4]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java3 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type: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 .Java3 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java3, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java4.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java4.toArray?>? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>? + 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 .Java3 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java4) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.MutableCollection) 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 kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[java.util.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.List + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type: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 java.util.List + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (p0: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.List, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.List>): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (p0: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.List, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.List) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT ($this:java.util.List, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface3.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface3.toArray?>? [fake_override] + overridden: + public abstract fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface3.toArray?>? + 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.List + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.List) 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.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .D' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .E' type=kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .E' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .F' type=kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun contains (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .I' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .J' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .J' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..67ad5df4607 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,179 @@ +abstract class A : LinkedList, Java2, MutableCollection { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class C : LinkedList, KotlinInterface, MutableCollection { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class D : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class F : E { + constructor() /* primary */ { + super/*E*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return false + } + +} + +abstract class G : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class H : G { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*G*/() + /* () */ + + } + + override operator fun contains(element: Int): Boolean { + return false + } + + override fun remove(element: Int): Boolean { + return false + } + +} + +abstract class I : Java3, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun remove(i: Int): Boolean + +} + +interface KotlinInterface2 : MutableCollection { +} + +interface KotlinInterface3 : List { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.add(p0 = 1, p1 = 2) + a.removeAt(p0 = 1) /*~> Unit */ + a.remove() /*~> Unit */ + a.remove(p0 = 2) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = 1) /*~> Unit */ + b.add(p0 = 1, p1 = 2) + b.removeAt(p0 = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(element = 2) /*~> Unit */ + c.() /*~> Unit */ + c.add(p0 = 1) /*~> Unit */ + c.add(p0 = 1, p1 = 2) + c.removeAt(p0 = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(p0 = 2) /*~> Unit */ + d.() /*~> Unit */ + d.add(p0 = 1) /*~> Unit */ + d.add(p0 = 1, p1 = 2) + d.removeAt(p0 = 1) /*~> Unit */ + d.remove() /*~> Unit */ + d.remove(element = 2) /*~> Unit */ + e.() /*~> Unit */ + e.add(element = 1) /*~> Unit */ + e.add(index = 1, element = 2) + e.removeAt(index = 1) /*~> Unit */ + e.remove(i = 2) /*~> Unit */ + f.() /*~> Unit */ + f.add(element = 1) /*~> Unit */ + f.add(index = 1, element = 2) + f.removeAt(index = 1) /*~> Unit */ + f.remove(element = 2) /*~> Unit */ + g.() /*~> Unit */ + g.add(element = 1) /*~> Unit */ + g.contains(element = 4) /*~> Unit */ + g.remove(element = 2) /*~> Unit */ + h.() /*~> Unit */ + h.add(element = 1) /*~> Unit */ + h.contains(element = 1) /*~> Unit */ + h.remove(element = 2) /*~> Unit */ + i.() /*~> Unit */ + i.add(p0 = 1) /*~> Unit */ + i.add(p0 = 1, p1 = 2) + i.remove(p0 = 2) /*~> Unit */ + j.() /*~> Unit */ + j.add(p0 = 1) /*~> Unit */ + j.add(p0 = 1, p1 = 2) + j.get(p0 = 1) /*~> Unit */ + j.remove(i = 1) /*~> Unit */ + j.removeAt(p0 = 2) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.sig.kt.txt new file mode 100644 index 00000000000..2c7db51eaa9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.fir.sig.kt.txt @@ -0,0 +1,2885 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedList, Java2, MutableCollection { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int){}kotlin.Boolean? + // Public signature: /A.remove|5356476918679387776[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean? + abstract /* fake */ override fun remove(i: Int): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: B#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : LinkedList, KotlinInterface, MutableCollection { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /C.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: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.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: C#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /C.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /C.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.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: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.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: C#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.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: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /C.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(i: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.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: C#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.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: C#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /C.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: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.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: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : C { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /D.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: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.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: D#getFirst(){}kotlin.Int{EnhancedNullability} + // Public signature: /D.getFirst|-1530868262657827322[0] + // Public signature debug description: getFirst(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int{EnhancedNullability} + // Public signature: /D.getLast|4243817015066041664[0] + // Public signature debug description: getLast(){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.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: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.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: D#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.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: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.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: D#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.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: D#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /D.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: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.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: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#add(kotlin.Int;kotlin.Any?){} + // Public signature: /E.add|1404433481179094523[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any?){} + abstract /* fake */ override fun add(index: Int, element: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-92648757594494376[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|-403596255110256445[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Int){}kotlin.Any? + // Public signature: /E.get|1795875139119824730[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any? + abstract /* fake */ override operator fun get(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: E#hashCode(){}kotlin.Int + // Public signature: /E.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: E#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /E.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun indexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /E.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: E#listIterator(){}kotlin.collections.MutableListIterator + // Public signature: /E.listIterator|-1621664620524293242[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: E#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + // Public signature: /E.listIterator|2617555913478172101[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream + // Public signature: /E.parallelStream|720889324832229797[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream + /* fake */ override fun parallelStream(): Stream + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int){}kotlin.Boolean? + // Public signature: /E.remove|5356476918679387776[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean? + abstract /* fake */ override fun remove(i: Int): Boolean? + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAt(kotlin.Int){}kotlin.Any? + // Public signature: /E.removeAt|-8980852212530989044[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any? + abstract /* fake */ override fun removeAt(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate){}kotlin.Boolean + // Public signature: /E.removeIf|1844363147848211915[0] + // Public signature debug description: removeIf(java.util.function.Predicate){}kotlin.Boolean + /* fake */ override fun removeIf(p0: Predicate): Boolean + + // CHECK: + // Mangled name: E#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /E.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: E#replaceAll(java.util.function.UnaryOperator){} + // Public signature: /E.replaceAll|-8915137261835628222[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator){} + /* fake */ override fun replaceAll(p0: UnaryOperator): Unit + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#set(kotlin.Int;kotlin.Any?){}kotlin.Any? + // Public signature: /E.set|8583092022568728310[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun set(index: Int, element: Any?): Any? + + // CHECK: + // Mangled name: E#sort(java.util.Comparator?){} + // Public signature: /E.sort|-7271569128335528697[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator + // Public signature: /E.spliterator|-3628550609347813080[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + /* fake */ override fun spliterator(): Spliterator + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream + // Public signature: /E.stream|458504942250624766[0] + // Public signature debug description: stream(){}java.util.stream.Stream + /* fake */ override fun stream(): Stream + + // CHECK JVM_IR: + // Mangled name: E#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + // Public signature: /E.subList|5649745263147539891[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: E#toArray(){}kotlin.Array? + // Public signature: /E.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: E#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /E.toArray|5867798891017880795[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: E#toString(){}kotlin.String + // Public signature: /E.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : E { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#add(kotlin.Int;kotlin.Any?){} + // Public signature: /F.add|1404433481179094523[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any?){} + abstract /* fake */ override fun add(index: Int, element: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-92648757594494376[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|-403596255110256445[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Int){}kotlin.Any? + // Public signature: /F.get|1795875139119824730[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any? + abstract /* fake */ override operator fun get(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: F#hashCode(){}kotlin.Int + // Public signature: /F.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /F.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun indexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /F.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: F#listIterator(){}kotlin.collections.MutableListIterator + // Public signature: /F.listIterator|-1621664620524293242[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: F#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + // Public signature: /F.listIterator|2617555913478172101[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream + // Public signature: /F.parallelStream|720889324832229797[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream + /* fake */ override fun parallelStream(): Stream + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAt(kotlin.Int){}kotlin.Any? + // Public signature: /F.removeAt|-8980852212530989044[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any? + abstract /* fake */ override fun removeAt(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate){}kotlin.Boolean + // Public signature: /F.removeIf|1844363147848211915[0] + // Public signature debug description: removeIf(java.util.function.Predicate){}kotlin.Boolean + /* fake */ override fun removeIf(p0: Predicate): Boolean + + // CHECK: + // Mangled name: F#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /F.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: F#replaceAll(java.util.function.UnaryOperator){} + // Public signature: /F.replaceAll|-8915137261835628222[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator){} + /* fake */ override fun replaceAll(p0: UnaryOperator): Unit + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#set(kotlin.Int;kotlin.Any?){}kotlin.Any? + // Public signature: /F.set|8583092022568728310[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun set(index: Int, element: Any?): Any? + + // CHECK: + // Mangled name: F#sort(java.util.Comparator?){} + // Public signature: /F.sort|-7271569128335528697[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator + // Public signature: /F.spliterator|-3628550609347813080[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + /* fake */ override fun spliterator(): Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream + // Public signature: /F.stream|458504942250624766[0] + // Public signature debug description: stream(){}java.util.stream.Stream + /* fake */ override fun stream(): Stream + + // CHECK JVM_IR: + // Mangled name: F#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + // Public signature: /F.subList|5649745263147539891[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: F#toArray(){}kotlin.Array? + // Public signature: /F.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: F#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /F.toArray|5867798891017880795[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: F#toString(){}kotlin.String + // Public signature: /F.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /F.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int){}kotlin.Boolean + // Public signature: /G.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /G.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /G.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : G { + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int){}kotlin.Boolean + // Public signature: /H.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator + // Public signature: /H.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /H.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /H.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3, KotlinInterface3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(p0: Int?): Boolean + + // CHECK: + // Mangled name: I#add(kotlin.Int;kotlin.Int?){} + // Public signature: /I.add|-5486431830360677201[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?){} + abstract /* fake */ override fun add(p0: Int, p1: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.addAll|439257460639184337[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + // Public signature: /I.addAll|-6889555815059403952[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: Int, p1: MutableCollection?): Boolean + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(p0: Collection): Boolean + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#get(kotlin.Int){}kotlin.Int? + // Public signature: /I.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + abstract /* fake */ override operator fun get(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: I#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /I.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /I.iterator|-868777277698773496[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + abstract /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /I.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: I#listIterator(){}kotlin.collections.MutableListIterator? + // Public signature: /I.listIterator|2095643443476635755[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: I#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + // Public signature: /I.listIterator|2167883170883502986[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(p0: Int): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int){}kotlin.Int? + // Public signature: /I.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(p0: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: I#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /I.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(p0: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#set(kotlin.Int;kotlin.Int?){}kotlin.Int? + // Public signature: /I.set|-8721540345699991531[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun set(p0: Int, p1: Int?): Int? + + // CHECK: + // Mangled name: I#sort(java.util.Comparator?){} + // Public signature: /I.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + // Public signature: /I.subList|-2471007324473109210[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + abstract /* fake */ override fun subList(p0: Int, p1: Int): MutableList? + + // CHECK JVM_IR: + // Mangled name: I#toArray(){}kotlin.Array? + // Public signature: /I.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + abstract /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: I#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /I.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + abstract /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java4, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: J#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /J.add|8743200403488922753[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: J#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|2130778526938791222[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: J#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|-8669946162725911871[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: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /J.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.contains|-2468276587626376870[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: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: J#ensureCapacity(kotlin.Int){} + // Public signature: /J.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: J#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /J.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.get|7975012209569221001[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: J#hashCode(){}kotlin.Int + // Public signature: /J.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: J#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /J.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /J.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /J.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: J#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /J.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /J.listIterator|6493015954228032214[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: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int){}kotlin.Int? + // Public signature: /J.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(i: Int): Int? + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|4920074937927144900[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: J#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: J#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /J.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: J#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /J.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|9019132369114162808[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: J#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.set|6213268196513171993[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: + // Mangled name: J#sort(java.util.Comparator?){} + // Public signature: /J.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /J.subList|-4774771961505020315[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: J#toArray(){}kotlin.Array? + // Public signature: /J.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: J#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /J.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: J#toString(){}kotlin.String + // Public signature: /J.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: J#trimToSize(){} + // Public signature: /J.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract fun remove(i: Int): Boolean + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : MutableCollection { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#add(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface2#clear(){} + // Public signature: /KotlinInterface2.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface2#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface2.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface2.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface2.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface2.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface2.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface2.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface2.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK: + // Mangled name: KotlinInterface2{}size + // Public signature: /KotlinInterface2.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface3 +// Public signature: /KotlinInterface3|null[0] +interface KotlinInterface3 : List { + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(p0: Int?): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#add(kotlin.Int;kotlin.Int?){} + // Public signature: /KotlinInterface3.add|-5486431830360677201[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?){} + abstract /* fake */ override fun add(p0: Int, p1: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.addAll|439257460639184337[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + // Public signature: /KotlinInterface3.addAll|-6889555815059403952[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: Int, p1: MutableCollection?): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#clear(){} + // Public signature: /KotlinInterface3.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(p0: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface3.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#get(kotlin.Int){}kotlin.Int? + // Public signature: /KotlinInterface3.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + abstract /* fake */ override operator fun get(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /KotlinInterface3.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface3.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /KotlinInterface3.iterator|-868777277698773496[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + abstract /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /KotlinInterface3.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#listIterator(){}kotlin.collections.MutableListIterator? + // Public signature: /KotlinInterface3.listIterator|2095643443476635755[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + // Public signature: /KotlinInterface3.listIterator|2167883170883502986[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(p0: Int): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface3.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#remove(kotlin.Int){}kotlin.Int? + // Public signature: /KotlinInterface3.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(p0: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /KotlinInterface3.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(p0: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#set(kotlin.Int;kotlin.Int?){}kotlin.Int? + // Public signature: /KotlinInterface3.set|-8721540345699991531[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun set(p0: Int, p1: Int?): Int? + + // CHECK: + // Mangled name: KotlinInterface3#sort(java.util.Comparator?){} + // Public signature: /KotlinInterface3.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface3.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface3.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + // Public signature: /KotlinInterface3.subList|-2471007324473109210[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + abstract /* fake */ override fun subList(p0: Int, p1: Int): MutableList? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#toArray(){}kotlin.Array? + // Public signature: /KotlinInterface3.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + abstract /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinInterface3.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + abstract /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK: + // Mangled name: KotlinInterface3{}size + // Public signature: /KotlinInterface3.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.Int + // Public signature: /KotlinInterface3.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..04742e0e868 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,2619 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .Java2; kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .Java2; kotlin.collections.MutableCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java2, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> declared in .A + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.A.toArray?>?): @[FlexibleNullability] kotlin.Array.A.toArray?>? declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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 .A + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .KotlinInterface; kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.LinkedList; .KotlinInterface; kotlin.collections.MutableCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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 .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> declared in .C + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.C.toArray?>?): @[FlexibleNullability] kotlin.Array.C.toArray?>? declared in .C + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + 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 .C + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C + public abstract fun remove (i: kotlin.Int): kotlin.Boolean declared in .C + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .C + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, index:kotlin.Int, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Iterable, p0:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:index index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: kotlin.Any?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableCollection) returnType:@[RawType] kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public open fun iterator (): @[RawType] kotlin.collections.MutableIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: kotlin.Any?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (): @[RawType] kotlin.collections.MutableListIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, index:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[RawType] kotlin.collections.MutableListIterator declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Collection) returnType:@[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java2, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableCollection, p0:@[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:@[RawType] java.util.AbstractList<@[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractList<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, p0:@[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun set (index: kotlin.Int, element: kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, p0:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List) returnType:@[EnhancedNullability] @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Collection) returnType:@[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableList [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[RawType] kotlin.collections.MutableList declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array?) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + 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:@[RawType] kotlin.collections.List) 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 .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.E] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .E' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.E]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, index:kotlin.Int, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + 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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Iterable, p0:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.function.Consumer<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (index: kotlin.Int): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:index index:0 type: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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: kotlin.Any?): kotlin.Int declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableCollection) returnType:@[RawType] kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public open fun iterator (): @[RawType] kotlin.collections.MutableIterator declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List, element:kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: kotlin.Any?): kotlin.Int declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (): @[RawType] kotlin.collections.MutableListIterator declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, index:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableListIterator [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[RawType] kotlin.collections.MutableListIterator declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Collection) returnType:@[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, element:kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableCollection, p0:@[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[RawType] java.util.function.Predicate<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:@[RawType] java.util.AbstractList<@[FlexibleNullability] kotlin.Any?>, 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 .E + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractList<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, p0:@[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?>): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[RawType] java.util.function.UnaryOperator<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, elements:@[RawType] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: @[RawType] kotlin.collections.Collection): kotlin.Boolean declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:elements index:0 type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:@[RawType] kotlin.collections.AbstractMutableList, index:kotlin.Int, element:kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun set (index: kotlin.Int, element: kotlin.Any?): kotlin.Any? declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.AbstractMutableList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:kotlin.Any? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, p0:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[RawType] java.util.Comparator<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.List) returnType:@[EnhancedNullability] @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] @[RawType] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.Collection) returnType:@[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] @[RawType] java.util.stream.Stream<@[FlexibleNullability] kotlin.Any?> declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:@[RawType] kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[RawType] kotlin.collections.MutableList [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[RawType] kotlin.collections.MutableList declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.MutableList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .E + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array?) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in .E + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:@[RawType] java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .E + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .E + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .F' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount + 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:@[RawType] kotlin.collections.List) 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 .E + $this: VALUE_PARAMETER name: type:@[RawType] kotlin.collections.List + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .KotlinInterface2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .KotlinInterface2 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java2, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + 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 .KotlinInterface2 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection) 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.G] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .G + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .G' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.G]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .G + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:contains visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun contains (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .G + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=false + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:@[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type: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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.List, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.List, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.List) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Array.I.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.I.toArray?>? [fake_override] + overridden: + public abstract fun toArray (p0: @[FlexibleNullability] kotlin.Array.KotlinInterface3.toArray?>?): @[FlexibleNullability] kotlin.Array.KotlinInterface3.toArray?>? declared in .KotlinInterface3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.I.toArray?>? + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.List) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:java.util.List + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java4]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + 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 .Java3 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type: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 .Java3 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java3, i:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, 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 .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.J.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.J.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java4.toArray?>?): @[FlexibleNullability] kotlin.Array.Java4.toArray?>? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.J.toArray?>? + 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 .Java3 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableCollection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableCollection?> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableCollection> declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection) 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 kotlin.collections.MutableCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[java.util.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:@[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.List + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type: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 java.util.List + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun indexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun lastIndexOf (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Int declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun listIterator (p0: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableListIterator<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.List?): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.List, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.List>): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:java.util.List, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.List?>): kotlin.Boolean declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun set (p0: kotlin.Int, p1: @[FlexibleNullability] E of java.util.List?): @[FlexibleNullability] E of java.util.List? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.List, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.List) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.List?> declared in java.util.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:java.util.List, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of java.util.List?>? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT <> ($this:java.util.List) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN FAKE_OVERRIDE name:toArray visibility:public modality:ABSTRACT ($this:java.util.List, p0:@[FlexibleNullability] kotlin.Array.KotlinInterface3.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinInterface3.toArray?>? [fake_override] + overridden: + public abstract fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.List + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.KotlinInterface3.toArray?>? + 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.List + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.List) 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.List + $this: VALUE_PARAMETER name: type:java.util.List + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .C' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .D' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .E' type=kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Boolean? declared in .E' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (index: kotlin.Int, element: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): kotlin.Any? declared in .F' type=kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun contains (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: kotlin.Int): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun contains (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun add (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (p0: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .I' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .J' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (i: kotlin.Int): @[FlexibleNullability] kotlin.Int? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] kotlin.Int? declared in .J' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..e50eae42e22 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt @@ -0,0 +1,138 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: Java1.java +import kotlin.collections.AbstractMutableList; + +public abstract class Java1 extends AbstractMutableList { } + +// FILE: Java2.java +public interface Java2 { + public Boolean remove(int i); +} + +// FILE: Java3.java +public interface Java3 { + public Integer remove(int i); +} + +// FILE: Java4.java +import java.util.ArrayList; +public class Java4 extends ArrayList { } + +// FILE: 1.kt +import java.util.* + +abstract class A : LinkedList(), Java2 , MutableCollection //Kotlin ← Java1, Java2, Kotlin2 + +class B : A() { + override fun remove(element: Int): Boolean { + return true + } +} + +abstract class C: LinkedList(), KotlinInterface, MutableCollection //Kotlin ← Java, Kotlin1, Kotlin2 + +class D : C() { + override fun remove(element: Int): Boolean { + return true + } +} + +abstract class E : Java1(), Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +abstract class F : E() { + override fun remove(element: Int): Boolean { + return false + } +} + +abstract class G : KotlinInterface2, Java2 //Kotlin ← Java, Kotlin2 ← Kotlin3 + +abstract class H(override val size: Int) : G() { + override fun remove(element: Int): Boolean { + return false + } + override fun contains(element: Int): Boolean { + return false + } +} + +abstract class I : KotlinInterface3, Java3 //Kotlin ← Java, Kotlin2 ← Java2 + +abstract class J : Java3, Java4() //Kotlin ← Java1, Java2 ← Java3 + +interface KotlinInterface { + fun remove(i: Int): Boolean +} + +interface KotlinInterface2 : MutableCollection + +interface KotlinInterface3 : java.util.List + +fun test(a: A, b: B, c: C, d: D, e: E, f : F, g: G, h: H, i: I, j: J) { + a.size + a.add(1) + a.add(1,2) + a.removeAt(1) + a.remove() + a.remove(element = 2) + + b.size + b.add(1) + b.add(1,2) + b.removeAt(1) + b.remove() + b.remove(2) + + c.size + c.add(1) + c.add(1,2) + c.removeAt(1) + c.remove() + c.remove(element = 2) + + d.size + d.add(1) + d.add(1,2) + d.removeAt(1) + d.remove() + d.remove(2) + + e.size + e.add(1) + e.add(1,2) + e.removeAt(1) + e.remove(2) + + f.size + f.add(1) + f.add(1,2) + f.removeAt(1) + f.remove(2) + + g.size + g.add(1) + g.contains(4) + g.remove(element = 2) + + h.size + h.add(1) + h.contains(1) + h.remove(2) + + i.size + i.add(1) + i.add(1,2) + i.remove(2) + + j.size + j.add(1) + j.add(1,2) + j.get(1) + j.remove(1) + j.removeAt(2) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..1a7ebba2eef --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,179 @@ +abstract class A : LinkedList, Java2, MutableCollection { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class C : LinkedList, KotlinInterface, MutableCollection { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class D : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class F : E { + constructor() /* primary */ { + super/*E*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return false + } + +} + +abstract class G : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class H : G { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*G*/() + /* () */ + + } + + override operator fun contains(element: Int): Boolean { + return false + } + + override fun remove(element: Int): Boolean { + return false + } + +} + +abstract class I : Java3, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun remove(i: Int): Boolean + +} + +interface KotlinInterface2 : MutableCollection { +} + +interface KotlinInterface3 : List { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(index = 1, element = 2) + a.removeAt(p0 = 1) /*~> Unit */ + a.remove() /*~> Unit */ + a.remove(element = 2) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(index = 1, element = 2) + b.removeAt(p0 = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(element = 2) /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.add(index = 1, element = 2) + c.removeAt(p0 = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(element = 2) /*~> Unit */ + d.() /*~> Unit */ + d.add(element = 1) /*~> Unit */ + d.add(index = 1, element = 2) + d.removeAt(p0 = 1) /*~> Unit */ + d.remove() /*~> Unit */ + d.remove(element = 2) /*~> Unit */ + e.() /*~> Unit */ + e.add(element = 1) /*~> Unit */ + e.add(index = 1, element = 2) + e.removeAt(index = 1) /*~> Unit */ + e.remove(i = 2) /*~> Unit */ + f.() /*~> Unit */ + f.add(element = 1) /*~> Unit */ + f.add(index = 1, element = 2) + f.removeAt(index = 1) /*~> Unit */ + f.remove(element = 2) /*~> Unit */ + g.() /*~> Unit */ + g.add(element = 1) /*~> Unit */ + g.contains(element = 4) /*~> Unit */ + g.remove(element = 2) /*~> Unit */ + h.() /*~> Unit */ + h.add(element = 1) /*~> Unit */ + h.contains(element = 1) /*~> Unit */ + h.remove(element = 2) /*~> Unit */ + i.() /*~> Unit */ + i.add(element = 1) /*~> Unit */ + i.add(p0 = 1, p1 = 2) + i.remove(p0 = 2) /*~> Unit */ + j.() /*~> Unit */ + j.add(element = 1) /*~> Unit */ + j.add(index = 1, element = 2) + j.get(index = 1) /*~> Unit */ + j.remove(i = 1) /*~> Unit */ + j.removeAt(p0 = 2) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..7948df80a9e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,2891 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedList, Java2, MutableCollection { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int){}kotlin.Boolean? + // Public signature: /A.remove|5356476918679387776[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean? + abstract /* fake */ override fun remove(i: Int): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : LinkedList, KotlinInterface, MutableCollection { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /C.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.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: C#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.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: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /C.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(i: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /C.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /C.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : C { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /D.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.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: D#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.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: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /D.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /D.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#add(kotlin.Int;kotlin.Any?){} + // Public signature: /E.add|1404433481179094523[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any?){} + abstract /* fake */ override fun add(index: Int, element: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-92648757594494376[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|-403596255110256445[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Int){}kotlin.Any? + // Public signature: /E.get|1795875139119824730[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any? + abstract /* fake */ override operator fun get(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: E#hashCode(){}kotlin.Int + // Public signature: /E.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: E#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /E.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun indexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /E.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: E#listIterator(){}kotlin.collections.MutableListIterator + // Public signature: /E.listIterator|-1621664620524293242[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: E#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + // Public signature: /E.listIterator|2617555913478172101[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-3787039682870431486[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int){}kotlin.Boolean? + // Public signature: /E.remove|5356476918679387776[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean? + abstract /* fake */ override fun remove(i: Int): Boolean? + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAt(kotlin.Int){}kotlin.Any? + // Public signature: /E.removeAt|-8980852212530989044[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any? + abstract /* fake */ override fun removeAt(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-3327716702419991417[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: E#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /E.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: E#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /E.replaceAll|5831416275090427865[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator): Unit + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#set(kotlin.Int;kotlin.Any?){}kotlin.Any? + // Public signature: /E.set|8583092022568728310[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun set(index: Int, element: Any?): Any? + + // CHECK: + // Mangled name: E#sort(java.util.Comparator?){} + // Public signature: /E.sort|-7271569128335528697[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /E.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|6356972429826168861[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream + + // CHECK JVM_IR: + // Mangled name: E#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + // Public signature: /E.subList|5649745263147539891[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: E#toArray(){}kotlin.Array? + // Public signature: /E.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: E#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /E.toArray|5867798891017880795[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: E#toString(){}kotlin.String + // Public signature: /E.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : E { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#add(kotlin.Int;kotlin.Any?){} + // Public signature: /F.add|1404433481179094523[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any?){} + abstract /* fake */ override fun add(index: Int, element: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-92648757594494376[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|-403596255110256445[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Int){}kotlin.Any? + // Public signature: /F.get|1795875139119824730[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any? + abstract /* fake */ override operator fun get(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: F#hashCode(){}kotlin.Int + // Public signature: /F.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /F.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun indexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /F.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: Any?): Int + + // CHECK JVM_IR: + // Mangled name: F#listIterator(){}kotlin.collections.MutableListIterator + // Public signature: /F.listIterator|-1621664620524293242[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: F#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + // Public signature: /F.listIterator|2617555913478172101[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-3787039682870431486[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAt(kotlin.Int){}kotlin.Any? + // Public signature: /F.removeAt|-8980852212530989044[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any? + abstract /* fake */ override fun removeAt(index: Int): Any? + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-3327716702419991417[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: F#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /F.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: F#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /F.replaceAll|5831416275090427865[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator): Unit + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#set(kotlin.Int;kotlin.Any?){}kotlin.Any? + // Public signature: /F.set|8583092022568728310[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun set(index: Int, element: Any?): Any? + + // CHECK: + // Mangled name: F#sort(java.util.Comparator?){} + // Public signature: /F.sort|-7271569128335528697[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|6356972429826168861[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream + + // CHECK JVM_IR: + // Mangled name: F#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + // Public signature: /F.subList|5649745263147539891[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: F#toArray(){}kotlin.Array? + // Public signature: /F.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: F#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /F.toArray|5867798891017880795[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: F#toString(){}kotlin.String + // Public signature: /F.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /F.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int){}kotlin.Boolean + // Public signature: /G.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /G.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int){}kotlin.Boolean? + // Public signature: /G.remove|5356476918679387776[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean? + abstract /* fake */ override fun remove(i: Int): Boolean? + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /G.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : G { + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int){}kotlin.Boolean + // Public signature: /H.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator + // Public signature: /H.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /H.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /H.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3, KotlinInterface3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK: + // Mangled name: I#add(kotlin.Int;kotlin.Int?){} + // Public signature: /I.add|-5486431830360677201[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?){} + abstract /* fake */ override fun add(p0: Int, p1: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.addAll|-7100843874129411856[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: @EnhancedNullability Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + // Public signature: /I.addAll|-6889555815059403952[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: Int, p1: MutableCollection?): Boolean + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#get(kotlin.Int){}kotlin.Int? + // Public signature: /I.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + abstract /* fake */ override operator fun get(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: I#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /I.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /I.iterator|-868777277698773496[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + abstract /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /I.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: I#listIterator(){}kotlin.collections.MutableListIterator? + // Public signature: /I.listIterator|2095643443476635755[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: I#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + // Public signature: /I.listIterator|2167883170883502986[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(p0: Int): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int){}kotlin.Int? + // Public signature: /I.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: I#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /I.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#set(kotlin.Int;kotlin.Int?){}kotlin.Int? + // Public signature: /I.set|-8721540345699991531[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun set(p0: Int, p1: Int?): Int? + + // CHECK: + // Mangled name: I#sort(java.util.Comparator?){} + // Public signature: /I.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + // Public signature: /I.subList|-2471007324473109210[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + abstract /* fake */ override fun subList(p0: Int, p1: Int): MutableList? + + // CHECK JVM_IR: + // Mangled name: I#toArray(){}kotlin.Array? + // Public signature: /I.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + abstract /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: I#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /I.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + abstract /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java4, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: J#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /J.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /J.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: J#ensureCapacity(kotlin.Int){} + // Public signature: /J.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: J#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /J.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.get|7975012209569221001[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: J#hashCode(){}kotlin.Int + // Public signature: /J.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: J#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /J.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /J.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /J.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: J#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /J.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /J.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int){}kotlin.Int? + // Public signature: /J.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(i: Int): Int? + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: J#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /J.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: J#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /J.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /J.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: J#sort(java.util.Comparator?){} + // Public signature: /J.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /J.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#toArray(){}kotlin.Array? + // Public signature: /J.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: J#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /J.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: J#toString(){}kotlin.String + // Public signature: /J.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: J#trimToSize(){} + // Public signature: /J.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract fun remove(i: Int): Boolean + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : MutableCollection { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#add(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface2#clear(){} + // Public signature: /KotlinInterface2.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface2#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface2.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface2.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface2.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface2.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /KotlinInterface2.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface2.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface2.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface2.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface2.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK: + // Mangled name: KotlinInterface2{}size + // Public signature: /KotlinInterface2.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface3 +// Public signature: /KotlinInterface3|null[0] +interface KotlinInterface3 : List { + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#add(kotlin.Int;kotlin.Int?){} + // Public signature: /KotlinInterface3.add|-5486431830360677201[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?){} + abstract /* fake */ override fun add(p0: Int, p1: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.addAll|-7100843874129411856[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: @EnhancedNullability Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + // Public signature: /KotlinInterface3.addAll|-6889555815059403952[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.MutableCollection?){}kotlin.Boolean + abstract /* fake */ override fun addAll(p0: Int, p1: MutableCollection?): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#clear(){} + // Public signature: /KotlinInterface3.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface3.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#get(kotlin.Int){}kotlin.Int? + // Public signature: /KotlinInterface3.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + abstract /* fake */ override operator fun get(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#indexOf(kotlin.Any?){}kotlin.Int + // Public signature: /KotlinInterface3.indexOf|-168313163175862320[0] + // Public signature debug description: indexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun indexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface3.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /KotlinInterface3.iterator|-868777277698773496[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + abstract /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#lastIndexOf(kotlin.Any?){}kotlin.Int + // Public signature: /KotlinInterface3.lastIndexOf|3021938800095386716[0] + // Public signature debug description: lastIndexOf(kotlin.Any?){}kotlin.Int + abstract /* fake */ override fun lastIndexOf(p0: Any?): Int + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#listIterator(){}kotlin.collections.MutableListIterator? + // Public signature: /KotlinInterface3.listIterator|2095643443476635755[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + // Public signature: /KotlinInterface3.listIterator|2167883170883502986[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator? + abstract /* fake */ override fun listIterator(p0: Int): MutableListIterator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface3.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface3.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#remove(kotlin.Int){}kotlin.Int? + // Public signature: /KotlinInterface3.remove|2724797926361474720[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Int? + abstract /* fake */ override fun remove(p0: Int): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /KotlinInterface3.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface3.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#set(kotlin.Int;kotlin.Int?){}kotlin.Int? + // Public signature: /KotlinInterface3.set|-8721540345699991531[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun set(p0: Int, p1: Int?): Int? + + // CHECK: + // Mangled name: KotlinInterface3#sort(java.util.Comparator?){} + // Public signature: /KotlinInterface3.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface3.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface3.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + // Public signature: /KotlinInterface3.subList|-2471007324473109210[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList? + abstract /* fake */ override fun subList(p0: Int, p1: Int): MutableList? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#toArray(){}kotlin.Array? + // Public signature: /KotlinInterface3.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + abstract /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinInterface3.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + abstract /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK: + // Mangled name: KotlinInterface3{}size + // Public signature: /KotlinInterface3.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.Int + // Public signature: /KotlinInterface3.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.ir.txt new file mode 100644 index 00000000000..57b1f513f80 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.ir.txt @@ -0,0 +1,404 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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] kotlin.Int): kotlin.Unit declared in .Java1 + $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.Int + 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 .Java1 + $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] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $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 + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] 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] kotlin.Int): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $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<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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] kotlin.Int): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + 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] kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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 .Java1 + $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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[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] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + 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] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 + $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.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $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:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + 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.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList]' + 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:@[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:@[EnhancedNullability] kotlin.Int + 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] + 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 + 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: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 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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:@[EnhancedNullability] kotlin.Int + 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<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + 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: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:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean 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<@[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: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:@[EnhancedNullability] kotlin.Int + 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: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:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + 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:@[EnhancedNullability] kotlin.Int + 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<@[EnhancedNullability] kotlin.Int> + 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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[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:@[EnhancedNullability] java.util.function.UnaryOperator<@[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<@[EnhancedNullability] kotlin.Int> + 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:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + 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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + 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: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:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.kt.txt new file mode 100644 index 00000000000..a432b5bd22e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass : ArrayList { + constructor() /* primary */ { + super/*ArrayList*/() + /* () */ + + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.add(p0 = 1, p1 = 2) + a.get(p0 = 0) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..4a69d9a1f49 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.fir.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : ArrayList { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // 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{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|-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|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(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // 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|-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){} + // Public signature: /KotlinClass.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // 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 + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // 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 + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // 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{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|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|-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#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: 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|-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{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 JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /KotlinClass.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // 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{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: + // Mangled name: KotlinClass#sort(java.util.Comparator?){} + // Public signature: /KotlinClass.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: 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? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass#trimToSize(){} + // Public signature: /KotlinClass.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|2868691358089968892[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.ir.txt new file mode 100644 index 00000000000..e6814376322 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.ir.txt @@ -0,0 +1,410 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $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<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] kotlin.Int): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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 .Java1 + $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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + 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] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] 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:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] 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:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[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: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 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: 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:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + 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:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean 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<@[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:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + 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:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: 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:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: 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:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + 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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[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:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: 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:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[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:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: 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 + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + 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] kotlin.Array.KotlinClass.toArray?>? + 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:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt new file mode 100644 index 00000000000..4c0ca64abd8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt @@ -0,0 +1,23 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: 1.kt +import java.util.ArrayList + +class A : Java1() + +open class KotlinClass : ArrayList() + +fun test(a: A) { + a.size + a.add(1) + a.add(1,2) + a.get(0) + a.removeAt(1) + a.remove(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt.txt new file mode 100644 index 00000000000..03da97ba808 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass : ArrayList { + constructor() /* primary */ { + super/*ArrayList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(index = 1, element = 2) + a.get(index = 0) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.sig.kt.txt new file mode 100644 index 00000000000..57a9861f701 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : ArrayList { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Boolean + + // CHECK: + // 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(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: KotlinClass#ensureCapacity(kotlin.Int){} + // Public signature: /KotlinClass.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // 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(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // 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{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // 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|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // 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 fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /KotlinClass.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // 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(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: KotlinClass#sort(java.util.Comparator?){} + // Public signature: /KotlinClass.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // 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(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass#trimToSize(){} + // Public signature: /KotlinClass.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|2868691358089968892[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.ir.txt new file mode 100644 index 00000000000..efd52d12fa0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.ir.txt @@ -0,0 +1,904 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .B) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] kotlin.collections.Collection.B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.B> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.B> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable.B>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .B [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] T of .B [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] T of .B [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] T of .B) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .B> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] T of .B) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.B>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.B> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .B [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection.B>, p0:@[EnhancedNullability] java.util.function.Predicate.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B?> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.B>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .B) returnType:@[EnhancedNullability] T of .B [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.B>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.B>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.B> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : T of .C + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList.C>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .C) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] kotlin.collections.Collection.C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.C> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.C> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .C?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable.C>, p0:@[FlexibleNullability] java.util.function.Consumer.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.C?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .C [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] T of .C [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] T of .C [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] T of .C) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .C> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] T of .C) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.C>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .C?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.C> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection.C>, p0:@[EnhancedNullability] java.util.function.Predicate.C?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.C?> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.C>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .C?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.C> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .C) returnType:@[EnhancedNullability] T of .C [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.C>, p0:@[FlexibleNullability] java.util.Comparator.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.C?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .C?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.C>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .C?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.C> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + FUN name:remove visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:removeAt visibility:public modality:OPEN <> ($this:.C.C>, index:kotlin.Int) returnType:T of .C [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CALL 'public open fun (): kotlin.Int declared in java.util.LinkedList' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedList modality:OPEN visibility:public superTypes:[java.util.AbstractSequentialList<@[FlexibleNullability] E of java.util.LinkedList?>; java.util.Deque<@[FlexibleNullability] E of java.util.LinkedList?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableList]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : T of .D + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList.D>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .D) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] kotlin.collections.Collection.D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.D> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.D> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .D?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable.D>, p0:@[FlexibleNullability] java.util.function.Consumer.D?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.D?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .D [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] T of .D [fake_override] + overridden: + public open fun getFirst (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] T of .D [fake_override] + overridden: + public open fun getLast (): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] T of .D) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .D> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] T of .D) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.D>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .D?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.D> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .D [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection.D>, p0:@[EnhancedNullability] java.util.function.Predicate.D?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.D?> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.D>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .D?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.D> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .D) returnType:@[EnhancedNullability] T of .D [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList.D>, p0:@[FlexibleNullability] java.util.Comparator.D?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.D?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .D?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.D>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .D?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.D> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D.D>) returnType:T of .D + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): T of .D declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] T of .C declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] T of .C): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): T of .C declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] T of .C): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .C declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] T of .D): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.kt.txt new file mode 100644 index 00000000000..f507672ac3b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.kt.txt @@ -0,0 +1,59 @@ +class B : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class C : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun remove(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return super.() + } + +} + +class D : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun remove(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(b: B, c: C, d: D) { + b.get(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(p0 = 1) /*~> Unit */ + b.removeAt(p0 = 1) /*~> Unit */ + c.get(p0 = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(p0 = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(p0 = 1) /*~> Unit */ + c.removeAt(index = 1) /*~> Unit */ + d.remove(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..b7ebfe90e97 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.fir.sig.kt.txt @@ -0,0 +1,1082 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /B.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|4788848729955212866[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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-5714391551352949890[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: B#addFirst(1:0?){} + // Public signature: /B.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: B#addLast(1:0?){} + // Public signature: /B.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /B.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}1:0? + // Public signature: /B.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /B.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}1:0{EnhancedNullability} + // Public signature: /B.getFirst|5792850377072374555[0] + // Public signature debug description: getFirst(){}1:0{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}1:0{EnhancedNullability} + // Public signature: /B.getLast|-840950214799718503[0] + // Public signature debug description: getLast(){}1:0{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#offer(1:0?){}kotlin.Boolean + // Public signature: /B.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /B.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(1:0?){}kotlin.Boolean + // Public signature: /B.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}1:0? + // Public signature: /B.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}1:0? + // Public signature: /B.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}1:0? + // Public signature: /B.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}1:0? + // Public signature: /B.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}1:0? + // Public signature: /B.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}1:0? + // Public signature: /B.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}1:0? + // Public signature: /B.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: B#push(1:0?){} + // Public signature: /B.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}1:0? + // Public signature: /B.remove|8174797093489114395[0] + // Public signature debug description: remove(){}1:0? + /* fake */ override fun remove(): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /B.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}1:0? + // Public signature: /B.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}1:0? + // Public signature: /B.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /B.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /B.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /C.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|4788848729955212866[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: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-5714391551352949890[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: C#addFirst(1:0?){} + // Public signature: /C.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: C#addLast(1:0?){} + // Public signature: /C.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /C.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}1:0? + // Public signature: /C.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /C.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}1:0{EnhancedNullability} + // Public signature: /C.getFirst|5792850377072374555[0] + // Public signature debug description: getFirst(){}1:0{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}1:0{EnhancedNullability} + // Public signature: /C.getLast|-840950214799718503[0] + // Public signature debug description: getLast(){}1:0{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#offer(1:0?){}kotlin.Boolean + // Public signature: /C.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /C.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(1:0?){}kotlin.Boolean + // Public signature: /C.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}1:0? + // Public signature: /C.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}1:0? + // Public signature: /C.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}1:0? + // Public signature: /C.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}1:0? + // Public signature: /C.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}1:0? + // Public signature: /C.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}1:0? + // Public signature: /C.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}1:0? + // Public signature: /C.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: C#push(1:0?){} + // Public signature: /C.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}1:0? + // Public signature: /C.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}1:0? + // Public signature: /C.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /C.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /C.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /C.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: C#remove(){}1:0 + // Public signature: /C.remove|-6125907608591131007[0] + // Public signature debug description: remove(){}1:0 + override fun remove(): T + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}1:0 + // Public signature: /C.removeAt|-5838685616663854072[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0 + override operator fun removeAt(index: Int): T + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /D.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|4788848729955212866[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: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-5714391551352949890[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: D#addFirst(1:0?){} + // Public signature: /D.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: D#addLast(1:0?){} + // Public signature: /D.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /D.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}1:0? + // Public signature: /D.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /D.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}1:0{EnhancedNullability} + // Public signature: /D.getFirst|5792850377072374555[0] + // Public signature debug description: getFirst(){}1:0{EnhancedNullability} + /* fake */ override fun getFirst(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}1:0{EnhancedNullability} + // Public signature: /D.getLast|-840950214799718503[0] + // Public signature debug description: getLast(){}1:0{EnhancedNullability} + /* fake */ override fun getLast(): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#offer(1:0?){}kotlin.Boolean + // Public signature: /D.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /D.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(1:0?){}kotlin.Boolean + // Public signature: /D.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}1:0? + // Public signature: /D.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}1:0? + // Public signature: /D.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}1:0? + // Public signature: /D.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}1:0? + // Public signature: /D.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}1:0? + // Public signature: /D.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}1:0? + // Public signature: /D.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}1:0? + // Public signature: /D.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: D#push(1:0?){} + // Public signature: /D.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /D.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}1:0? + // Public signature: /D.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}1:0? + // Public signature: /D.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /D.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /D.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /D.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(){}1:0 + // Public signature: /D.remove|-6125907608591131007[0] + // Public signature debug description: remove(){}1:0 + override fun remove(): T + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-3081490037894831523[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.ir.txt new file mode 100644 index 00000000000..15c3a68c203 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.ir.txt @@ -0,0 +1,913 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, element:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, index:kotlin.Int, element:@[EnhancedNullability] T of .B) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, element:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, index:kotlin.Int) returnType:@[EnhancedNullability] T of .B [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, element:@[EnhancedNullability] T of .B) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .B> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, element:@[EnhancedNullability] T of .B) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, element:@[EnhancedNullability] T of .B) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .B [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.Predicate.B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .B>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .B>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>, index:kotlin.Int, element:@[EnhancedNullability] T of .B) returnType:@[EnhancedNullability] T of .B [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .B + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .B> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.B>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.B> + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] T of .C? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList.C>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, element:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, index:kotlin.Int, element:@[EnhancedNullability] T of .C) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, element:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .C?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] java.util.function.Consumer.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.C?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, index:kotlin.Int) returnType:@[EnhancedNullability] T of .C [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, element:@[EnhancedNullability] T of .C) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .C> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, element:@[EnhancedNullability] T of .C) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, element:@[EnhancedNullability] T of .C) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.Predicate.C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.C> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .C>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .C>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .C> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>, index:kotlin.Int, element:@[EnhancedNullability] T of .C) returnType:@[EnhancedNullability] T of .C [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .C + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] java.util.Comparator.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.C?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .C?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .C?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .C> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.C>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.C>, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .C?> + FUN name:remove visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:removeAt visibility:public modality:OPEN <> ($this:.C.C>, index:kotlin.Int) returnType:T of .C + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CALL 'public open fun (): kotlin.Int declared in java.util.LinkedList' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedList modality:OPEN visibility:public superTypes:[java.util.AbstractSequentialList<@[FlexibleNullability] E of java.util.LinkedList?>; java.util.Deque<@[FlexibleNullability] E of java.util.LinkedList?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableList]' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] T of .D? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList.D>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, element:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, index:kotlin.Int, element:@[EnhancedNullability] T of .D) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, element:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] T of .D?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] java.util.function.Consumer.D?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.D?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, index:kotlin.Int) returnType:@[EnhancedNullability] T of .D [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, element:@[EnhancedNullability] T of .D) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .D> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, element:@[EnhancedNullability] T of .D) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, element:@[EnhancedNullability] T of .D) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .D [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.Predicate.D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.D> + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .D>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .D>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .D> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>, index:kotlin.Int, element:@[EnhancedNullability] T of .D) returnType:@[EnhancedNullability] T of .D [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .D + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] java.util.Comparator.D?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.D?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .D?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .D?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .D> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList.D>, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .D?> + FUN name:remove visibility:public modality:OPEN <> ($this:.D.D>) returnType:T of .D + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): T of .D declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList.D> + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] T of .B declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] T of .C declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] T of .C): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): T of .C declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] T of .C): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .C declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] T of .D): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt new file mode 100644 index 00000000000..b739346cd9e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt @@ -0,0 +1,46 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: 1.kt +import java.util.* + +class B : LinkedList() + +class C: LinkedList() { + override val size: Int + get() = super.size + + override fun remove(): T { + return null!! + } + override fun removeAt(index: Int): T { + return null!! + } +} + +class D : LinkedList() { + override fun remove(): T { + return null!! + } +} + +fun test(b: B, c: C, d: D){ + b.get(1) + b.size + b.add(1) + b.remove() + b.remove(1) + b.removeAt(1) + + c.get(1) + c.size + c.add(1) + c.remove() + c.remove(1) + c.removeAt(1) + + d.remove(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt.txt new file mode 100644 index 00000000000..1b1633d8db5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt.txt @@ -0,0 +1,59 @@ +class B : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class C : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun remove(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return super.() + } + +} + +class D : LinkedList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun remove(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(b: B, c: C, d: D) { + b.get(index = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.remove() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(p0 = 1) /*~> Unit */ + c.get(index = 1) /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.remove() /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.sig.kt.txt new file mode 100644 index 00000000000..167c8d8264c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.sig.kt.txt @@ -0,0 +1,1082 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /B.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8260064064038247705[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-1171456338420144152[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: B#addFirst(1:0?){} + // Public signature: /B.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: B#addLast(1:0?){} + // Public signature: /B.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /B.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}1:0? + // Public signature: /B.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /B.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}1:0? + // Public signature: /B.getFirst|2157509590598818481[0] + // Public signature debug description: getFirst(){}1:0? + /* fake */ override fun getFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}1:0? + // Public signature: /B.getLast|9162644411563434203[0] + // Public signature debug description: getLast(){}1:0? + /* fake */ override fun getLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#offer(1:0?){}kotlin.Boolean + // Public signature: /B.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /B.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(1:0?){}kotlin.Boolean + // Public signature: /B.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.parallelStream|-2383834625361442225[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}1:0? + // Public signature: /B.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}1:0? + // Public signature: /B.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}1:0? + // Public signature: /B.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}1:0? + // Public signature: /B.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}1:0? + // Public signature: /B.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}1:0? + // Public signature: /B.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}1:0? + // Public signature: /B.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: B#push(1:0?){} + // Public signature: /B.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}1:0? + // Public signature: /B.remove|8174797093489114395[0] + // Public signature debug description: remove(){}1:0? + /* fake */ override fun remove(): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /B.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}1:0? + // Public signature: /B.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6070327374763346765[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}1:0? + // Public signature: /B.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /B.replaceAll|-5629617340757453378[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /B.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.stream|-8831419910627762328[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /C.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-8260064064038247705[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-1171456338420144152[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: C#addFirst(1:0?){} + // Public signature: /C.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: C#addLast(1:0?){} + // Public signature: /C.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /C.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}1:0? + // Public signature: /C.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /C.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}1:0? + // Public signature: /C.getFirst|2157509590598818481[0] + // Public signature debug description: getFirst(){}1:0? + /* fake */ override fun getFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}1:0? + // Public signature: /C.getLast|9162644411563434203[0] + // Public signature debug description: getLast(){}1:0? + /* fake */ override fun getLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#offer(1:0?){}kotlin.Boolean + // Public signature: /C.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /C.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(1:0?){}kotlin.Boolean + // Public signature: /C.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.parallelStream|-2383834625361442225[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}1:0? + // Public signature: /C.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}1:0? + // Public signature: /C.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}1:0? + // Public signature: /C.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}1:0? + // Public signature: /C.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}1:0? + // Public signature: /C.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}1:0? + // Public signature: /C.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}1:0? + // Public signature: /C.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: C#push(1:0?){} + // Public signature: /C.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}1:0? + // Public signature: /C.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6070327374763346765[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}1:0? + // Public signature: /C.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /C.replaceAll|-5629617340757453378[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /C.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /C.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /C.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.stream|-8831419910627762328[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: C#remove(){}1:0 + // Public signature: /C.remove|-6125907608591131007[0] + // Public signature debug description: remove(){}1:0 + override fun remove(): T + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}1:0 + // Public signature: /C.removeAt|-5838685616663854072[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0 + override fun removeAt(index: Int): T + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /D.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-8260064064038247705[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-1171456338420144152[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: D#addFirst(1:0?){} + // Public signature: /D.addFirst|488016460427541499[0] + // Public signature debug description: addFirst(1:0?){} + /* fake */ override fun addFirst(p0: T?): Unit + + // CHECK: + // Mangled name: D#addLast(1:0?){} + // Public signature: /D.addLast|-4936773708797202842[0] + // Public signature debug description: addLast(1:0?){} + /* fake */ override fun addLast(p0: T?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + // Public signature: /D.descendingIterator|5631597546028913612[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator<1:0?>? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}1:0? + // Public signature: /D.element|7475697844618956778[0] + // Public signature debug description: element(){}1:0? + /* fake */ override fun element(): T? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /D.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}1:0? + // Public signature: /D.getFirst|2157509590598818481[0] + // Public signature debug description: getFirst(){}1:0? + /* fake */ override fun getFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}1:0? + // Public signature: /D.getLast|9162644411563434203[0] + // Public signature debug description: getLast(){}1:0? + /* fake */ override fun getLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#offer(1:0?){}kotlin.Boolean + // Public signature: /D.offer|-5122174576698242949[0] + // Public signature debug description: offer(1:0?){}kotlin.Boolean + /* fake */ override fun offer(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(1:0?){}kotlin.Boolean + // Public signature: /D.offerFirst|773689391451025263[0] + // Public signature debug description: offerFirst(1:0?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(1:0?){}kotlin.Boolean + // Public signature: /D.offerLast|-7490581291139376186[0] + // Public signature debug description: offerLast(1:0?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.parallelStream|-2383834625361442225[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}1:0? + // Public signature: /D.peek|-6155602926922417544[0] + // Public signature debug description: peek(){}1:0? + /* fake */ override fun peek(): T? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}1:0? + // Public signature: /D.peekFirst|-3168589491211819299[0] + // Public signature debug description: peekFirst(){}1:0? + /* fake */ override fun peekFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}1:0? + // Public signature: /D.peekLast|-3841110591627797098[0] + // Public signature debug description: peekLast(){}1:0? + /* fake */ override fun peekLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}1:0? + // Public signature: /D.poll|-5773899488581170865[0] + // Public signature debug description: poll(){}1:0? + /* fake */ override fun poll(): T? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}1:0? + // Public signature: /D.pollFirst|4247746389660230172[0] + // Public signature debug description: pollFirst(){}1:0? + /* fake */ override fun pollFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}1:0? + // Public signature: /D.pollLast|2589877727419998040[0] + // Public signature debug description: pollLast(){}1:0? + /* fake */ override fun pollLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}1:0? + // Public signature: /D.pop|2427976526447639923[0] + // Public signature debug description: pop(){}1:0? + /* fake */ override fun pop(): T? + + // CHECK: + // Mangled name: D#push(1:0?){} + // Public signature: /D.push|1521271743974744325[0] + // Public signature debug description: push(1:0?){} + /* fake */ override fun push(p0: T?): Unit + + // CHECK JVM_IR: + // Mangled name: D#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /D.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}1:0? + // Public signature: /D.removeFirst|2714501603705913501[0] + // Public signature debug description: removeFirst(){}1:0? + /* fake */ override fun removeFirst(): T? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6070327374763346765[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}1:0? + // Public signature: /D.removeLast|1239876537281211503[0] + // Public signature debug description: removeLast(){}1:0? + /* fake */ override fun removeLast(): T? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /D.replaceAll|-5629617340757453378[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /D.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /D.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /D.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.stream|-8831419910627762328[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: D#remove(){}1:0 + // Public signature: /D.remove|-6125907608591131007[0] + // Public signature debug description: remove(){}1:0 + override fun remove(): T + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-3081490037894831523[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..d25972cebfe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.ir.txt @@ -0,0 +1,450 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] kotlin.collections.Collection.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] kotlin.collections.Collection.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.B?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.B?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.Predicate.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, element:T of .B) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:element index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: T of .B): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B.B>, index:kotlin.Int) returnType:T of .B [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[FlexibleNullability] @[EnhancedNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[FlexibleNullability] @[EnhancedNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[FlexibleNullability] @[EnhancedNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[FlexibleNullability] @[EnhancedNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=2 + CALL 'public open fun add (p0: kotlin.Int, p1: @[FlexibleNullability] @[EnhancedNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[FlexibleNullability] @[EnhancedNullability] T of .B? declared in .B' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .B declared in .B' type=kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..53dd33dac32 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.kt.txt @@ -0,0 +1,47 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun remove(element: T): Boolean { + return true + } + + override operator fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(p0 = null) /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.add(p0 = 2, p1 = 2) + a.get(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = null) /*~> Unit */ + b.add(p0 = 2) /*~> Unit */ + b.add(p0 = 2, p1 = 2) + b.get(p0 = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..4f020508778 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /A.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-5388757335332996808[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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|6685019211560857057[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: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-2988189453282300393[0] + // Public signature debug description: remove(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.removeAt|955180386267871333[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /A.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /A.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /B.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-5388757335332996808[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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|6685019211560857057[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: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: B#ensureCapacity(kotlin.Int){} + // Public signature: /B.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /B.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /B.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /B.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#trimToSize(){} + // Public signature: /B.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}kotlin.Boolean + // Public signature: /B.remove|3828981323042900936[0] + // Public signature debug description: remove(1:0){}kotlin.Boolean + override fun remove(element: T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}1:0 + // Public signature: /B.removeAt|-5838685616663854072[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0 + override operator fun removeAt(index: Int): T + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-530786352875461401[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.ir.txt new file mode 100644 index 00000000000..770fc0b1513 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.ir.txt @@ -0,0 +1,456 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.Predicate.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .B?> + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, element:T of .B) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:element index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: T of .B): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B.B>, index:kotlin.Int) returnType:T of .B + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=2 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=2 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=2 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .B? declared in .B' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: T of .B): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .B declared in .B' type=kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt new file mode 100644 index 00000000000..03406bc1bc9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt @@ -0,0 +1,42 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914 + +// FILE: Java1.java +import java.util.ArrayList; +public class Java1 extends ArrayList{ } + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun remove(element: T): Boolean { + return true + } + override val size: Int + get() = 5 + + override fun removeAt(index: Int): T { + return null!! + } +} + +fun test(a: A, b: B) { + a.size + a.add(null) + a.add(1) + a.add(2,2) + a.get(1) + a.remove(1) + a.removeAt(1) + + b.size + b.add(null) + b.add(2) + b.add(2,2) + b.get(1) + b.remove(null) + b.removeAt(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt.txt new file mode 100644 index 00000000000..ab8492bd1bc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt.txt @@ -0,0 +1,47 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun remove(element: T): Boolean { + return true + } + + override fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(index = 2, element = 2) + a.get(index = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.add(element = 2) /*~> Unit */ + b.add(index = 2, element = 2) + b.get(index = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..2909d122ad9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /A.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|7126438972198838733[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-5541967893317276671[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-2988189453282300393[0] + // Public signature debug description: remove(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.removeAt|955180386267871333[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /A.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /A.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /B.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|7126438972198838733[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-5541967893317276671[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: B#ensureCapacity(kotlin.Int){} + // Public signature: /B.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /B.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /B.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /B.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /B.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#trimToSize(){} + // Public signature: /B.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}kotlin.Boolean + // Public signature: /B.remove|3828981323042900936[0] + // Public signature debug description: remove(1:0){}kotlin.Boolean + override fun remove(element: T): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}1:0 + // Public signature: /B.removeAt|-5838685616663854072[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0 + override fun removeAt(index: Int): T + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-530786352875461401[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..44f250afd5c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.ir.txt @@ -0,0 +1,434 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1.A>, i:kotlin.Int, t:@[FlexibleNullability] T of .A?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (i: kotlin.Int, t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:t index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1.A>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .A? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1.A>, i:kotlin.Int, t:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (i: kotlin.Int, t: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:t index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1.B>, i:kotlin.Int, t:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (i: kotlin.Int, t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:t index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1.B>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .B? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] T of .B?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.Predicate.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1.B>, i:kotlin.Int, t:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (i: kotlin.Int, t: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:i index:0 type:kotlin.Int + VALUE_PARAMETER name:t index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .B?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B.B>, index:kotlin.Int) returnType:T of .B + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun add (i: kotlin.Int, t: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .A? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .A? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun add (i: kotlin.Int, t: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .B declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..6e547054b78 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.fir.kt.txt @@ -0,0 +1,38 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(i = 1, t = 1) + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.get(index = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.removeAt(index = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(i = 1, t = 1) + b.add(element = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.ir.txt new file mode 100644 index 00000000000..36f675842a2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.ir.txt @@ -0,0 +1,440 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1.A>, index:kotlin.Int, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (index: kotlin.Int, element: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1.A>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .A? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, element:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1.A>, index:kotlin.Int, element:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (index: kotlin.Int, element: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:.Java1.B>, index:kotlin.Int, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun add (index: kotlin.Int, element: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, index:kotlin.Int, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.function.Consumer.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.B?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1.B>, index:kotlin.Int) returnType:@[FlexibleNullability] T of .B? [fake_override,operator] + annotations: + Override + overridden: + public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:index index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] T of .B?> [fake_override,operator] + overridden: + public open fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, index:kotlin.Int) returnType:kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, element:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.Predicate.B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.B?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .B?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, elements:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:.Java1.B>, index:kotlin.Int, element:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override,operator] + annotations: + Override + overridden: + public open fun set (index: kotlin.Int, element: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] java.util.Comparator.B?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.B?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.List<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.List<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B.B>, index:kotlin.Int) returnType:T of .B + overridden: + public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun add (index: kotlin.Int, element: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .A? declared in .A' type=kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun removeAt (index: kotlin.Int): @[FlexibleNullability] T of .A? declared in .A' type=kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun add (index: kotlin.Int, element: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] T of .B?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): T of .B declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt new file mode 100644 index 00000000000..05183b0c1eb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt @@ -0,0 +1,54 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +import kotlin.collections.AbstractMutableList; + +abstract public class Java1 extends AbstractMutableList { + @Override + public int getSize() { + return 0; + } + + @Override + public void add(int i, T t) {} + + @Override + public T get(int index) { + return null; + } + + @Override + public T set(int i, T t) { + return null; + } +} + +// FILE: 1.kt + +abstract class A : Java1() + +class B : Java1() { + override fun removeAt(index: Int): T { + return null!! + } +} +fun test(a: A, b: B){ + a.size + a.add(1,1) + a.add(1) + a.add(null) + a.get(1) + a.remove(1) + a.remove(null) + a.removeAt(1) + + b.size + b.add(1,1) + b.add(1) + b.get(1) + b.remove(1) + b.removeAt(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt.txt new file mode 100644 index 00000000000..eee12a8816c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt.txt @@ -0,0 +1,38 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun removeAt(index: Int): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(index = 1, element = 1) + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.get(index = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.removeAt(index = 1) /*~> Unit */ + b.() /*~> Unit */ + b.add(index = 1, element = 1) + b.add(element = 1) /*~> Unit */ + b.get(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..bc13023a5d5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.sig.kt.txt @@ -0,0 +1,455 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#add(kotlin.Int;1:0?){} + // Public signature: /A.add|-5171441619544325787[0] + // Public signature debug description: add(kotlin.Int;1:0?){} + @Override + /* fake */ override fun add(index: Int, element: T?): Unit + + // CHECK JVM_IR: + // Mangled name: A#add(1:0?){}kotlin.Boolean + // Public signature: /A.add|-3870303120178579823[0] + // Public signature debug description: add(1:0?){}kotlin.Boolean + /* fake */ override fun add(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /A.addAll|-569223942634118342[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /A.addAll|6474115666938939383[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#contains(1:0?){}kotlin.Boolean + // Public signature: /A.contains|-4175953135859473753[0] + // Public signature debug description: contains(1:0?){}kotlin.Boolean + /* fake */ override operator fun contains(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /A.containsAll|-5363182990633010595[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}1:0? + // Public signature: /A.get|7872141219897475972[0] + // Public signature debug description: get(kotlin.Int){}1:0? + @Override + /* fake */ override operator fun get(index: Int): T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(1:0?){}kotlin.Int + // Public signature: /A.indexOf|-6938239820030016189[0] + // Public signature debug description: indexOf(1:0?){}kotlin.Int + /* fake */ override fun indexOf(element: T?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator<1:0?> + // Public signature: /A.iterator|-5377104938612612583[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?> + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(1:0?){}kotlin.Int + // Public signature: /A.lastIndexOf|-942397748247034963[0] + // Public signature debug description: lastIndexOf(1:0?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: T?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator<1:0?> + // Public signature: /A.listIterator|-5052944495546333806[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?> + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?> + // Public signature: /A.listIterator|-971586999859456943[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?> + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}kotlin.Boolean + // Public signature: /A.remove|-4697064517121446593[0] + // Public signature debug description: remove(1:0?){}kotlin.Boolean + /* fake */ override fun remove(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /A.removeAll|8718507984773818260[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}1:0? + // Public signature: /A.removeAt|5328007976403793869[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0? + abstract /* fake */ override fun removeAt(index: Int): T? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /A.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /A.retainAll|7468668705296486186[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;1:0?){}1:0? + // Public signature: /A.set|3263751379952562202[0] + // Public signature debug description: set(kotlin.Int;1:0?){}1:0? + @Override + /* fake */ override operator fun set(index: Int, element: T?): T? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /A.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?> + // Public signature: /A.subList|-1554139679721191453[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?> + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#add(kotlin.Int;1:0?){} + // Public signature: /B.add|-5171441619544325787[0] + // Public signature debug description: add(kotlin.Int;1:0?){} + @Override + /* fake */ override fun add(index: Int, element: T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#add(1:0?){}kotlin.Boolean + // Public signature: /B.add|-3870303120178579823[0] + // Public signature debug description: add(1:0?){}kotlin.Boolean + /* fake */ override fun add(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /B.addAll|-569223942634118342[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /B.addAll|6474115666938939383[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#contains(1:0?){}kotlin.Boolean + // Public signature: /B.contains|-4175953135859473753[0] + // Public signature debug description: contains(1:0?){}kotlin.Boolean + /* fake */ override operator fun contains(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /B.containsAll|-5363182990633010595[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}1:0? + // Public signature: /B.get|7872141219897475972[0] + // Public signature debug description: get(kotlin.Int){}1:0? + @Override + /* fake */ override operator fun get(index: Int): T? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(1:0?){}kotlin.Int + // Public signature: /B.indexOf|-6938239820030016189[0] + // Public signature debug description: indexOf(1:0?){}kotlin.Int + /* fake */ override fun indexOf(element: T?): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator<1:0?> + // Public signature: /B.iterator|-5377104938612612583[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?> + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#lastIndexOf(1:0?){}kotlin.Int + // Public signature: /B.lastIndexOf|-942397748247034963[0] + // Public signature debug description: lastIndexOf(1:0?){}kotlin.Int + /* fake */ override fun lastIndexOf(element: T?): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator<1:0?> + // Public signature: /B.listIterator|-5052944495546333806[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?> + /* fake */ override fun listIterator(): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?> + // Public signature: /B.listIterator|-971586999859456943[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?> + /* fake */ override fun listIterator(index: Int): MutableListIterator + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}kotlin.Boolean + // Public signature: /B.remove|-4697064517121446593[0] + // Public signature debug description: remove(1:0?){}kotlin.Boolean + /* fake */ override fun remove(element: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /B.removeAll|8718507984773818260[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /B.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + // Public signature: /B.retainAll|7468668705296486186[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;1:0?){}1:0? + // Public signature: /B.set|3263751379952562202[0] + // Public signature debug description: set(kotlin.Int;1:0?){}1:0? + @Override + /* fake */ override operator fun set(index: Int, element: T?): T? + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /B.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?> + // Public signature: /B.subList|-1554139679721191453[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?> + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): MutableList + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}1:0 + // Public signature: /B.removeAt|-5838685616663854072[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0 + override fun removeAt(index: Int): T + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-7538394051901321572[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.ir.txt new file mode 100644 index 00000000000..ce6c49a8792 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.ir.txt @@ -0,0 +1,407 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] kotlin.collections.Collection.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: kotlin.Int, p1: @[EnhancedNullability] kotlin.collections.Collection.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (p0: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override,operator] + overridden: + public open fun set (p0: kotlin.Int, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[FlexibleNullability] @[EnhancedNullability] T of .A?> [fake_override] + overridden: + public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList.KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : T of .KotlinClass + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList.KotlinClass>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] kotlin.collections.Collection.KotlinClass>) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection.KotlinClass> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.collections.Collection.KotlinClass>) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection.KotlinClass> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) 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.KotlinClass> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .KotlinClass?>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) 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] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] java.util.function.Consumer.KotlinClass?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.KotlinClass?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .KotlinClass [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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.KotlinClass>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.KotlinClass> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] T of .KotlinClass) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .KotlinClass [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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] java.util.function.Predicate.KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.KotlinClass> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int, p1:@[EnhancedNullability] T of .KotlinClass) returnType:@[EnhancedNullability] T of .KotlinClass [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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] java.util.Comparator.KotlinClass?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.KotlinClass?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .KotlinClass?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection.KotlinClass>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection.KotlinClass> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (p0: kotlin.Int, p1: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[FlexibleNullability] @[EnhancedNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[FlexibleNullability] @[EnhancedNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[FlexibleNullability] @[EnhancedNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.kt.txt new file mode 100644 index 00000000000..7774d275fe1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass : ArrayList { + constructor() /* primary */ { + super/*ArrayList*/() + /* () */ + + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.add(p0 = 1, p1 = 2) + a.get(p0 = 0) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..8cdbbff492e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.fir.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /A.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-5388757335332996808[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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|6685019211560857057[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: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-2988189453282300393[0] + // Public signature debug description: remove(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.removeAt|955180386267871333[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /A.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /A.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : ArrayList { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: KotlinClass#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /KotlinClass.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|4788848729955212866[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|-5714391551352949890[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(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: KotlinClass#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: KotlinClass#ensureCapacity(kotlin.Int){} + // Public signature: /KotlinClass.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-6070327374763346765[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /KotlinClass.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|-5629617340757453378[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T>): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: KotlinClass#sort(java.util.Comparator?){} + // Public signature: /KotlinClass.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass#trimToSize(){} + // Public signature: /KotlinClass.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|3238565276356872827[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.ir.txt new file mode 100644 index 00000000000..fcc6f21971f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.ir.txt @@ -0,0 +1,413 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.function.Consumer.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.A?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:kotlin.Int) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.Predicate.A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate.Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.A?> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, index:kotlin.Int, element:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] java.util.Comparator.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator.Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.A?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .A?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] @[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList<@[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.ArrayList<@[FlexibleNullability] T of .A?> + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList.KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : @[FlexibleNullability] T of .KotlinClass? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.ArrayList.KotlinClass>]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, index:kotlin.Int, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) 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.KotlinClass> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .KotlinClass?>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: 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] T of .KotlinClass?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] java.util.function.Consumer.KotlinClass?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.KotlinClass?>? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, index:kotlin.Int) returnType:@[EnhancedNullability] T of .KotlinClass [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .KotlinClass> [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.KotlinClass> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] T of .KotlinClass> [fake_override] + overridden: + public open fun listIterator (index: 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.KotlinClass> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .KotlinClass> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, element:@[EnhancedNullability] T of .KotlinClass) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:kotlin.Int) returnType:@[EnhancedNullability] T of .KotlinClass [fake_override] + 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] java.util.function.Predicate.KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate.KotlinClass> + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, 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.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, elements:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] T of .KotlinClass> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, index:kotlin.Int, element:@[EnhancedNullability] T of .KotlinClass) returnType:@[EnhancedNullability] T of .KotlinClass [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[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.KotlinClass> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] T of .KotlinClass + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] java.util.Comparator.KotlinClass?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator.KotlinClass?>? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of .KotlinClass?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] T of .KotlinClass> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] T of .KotlinClass> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: 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.KotlinClass> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList.KotlinClass>, p0:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.ArrayList.KotlinClass>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList.KotlinClass> + FUN name:test visibility:public modality:FINAL <> (a:.A) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun add (index: kotlin.Int, element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=1 + element: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] @[FlexibleNullability] T of .A? declared in .A' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] T of .A?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt new file mode 100644 index 00000000000..eb9638ef9a1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt @@ -0,0 +1,25 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: 1.kt + +import java.util.ArrayList + +class A : Java1() + +open class KotlinClass : ArrayList() + +fun test(a: A) { + a.size + a.add(1) + a.add(1,2) + a.get(0) + a.removeAt(1) + a.remove(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt.txt new file mode 100644 index 00000000000..009f0d891e8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +open class KotlinClass : ArrayList { + constructor() /* primary */ { + super/*ArrayList*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +fun test(a: A) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(index = 1, element = 2) + a.get(index = 0) /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.sig.kt.txt new file mode 100644 index 00000000000..991b4ec7e39 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.sig.kt.txt @@ -0,0 +1,483 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1861722840086292161[0] + // Public signature debug description: add(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;1:0?{EnhancedNullability}){} + // Public signature: /A.add|777560866017835683[0] + // Public signature debug description: add(kotlin.Int;1:0?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T?): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|7126438972198838733[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-5541967893317276671[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-7501184433522994476[0] + // Public signature debug description: contains(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.containsAll|-2343493792299580002[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK: + // Mangled name: A#ensureCapacity(kotlin.Int){} + // Public signature: /A.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.get|-2608071948980497785[0] + // Public signature debug description: get(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|-3177314114788626270[0] + // Public signature debug description: indexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.iterator|8199062808301983344[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|-9011484700017251131[0] + // Public signature debug description: lastIndexOf(1:0?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T?): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|8409798775891817797[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.listIterator|467211022293382188[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.parallelStream|6412432266987130345[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|-2988189453282300393[0] + // Public signature debug description: remove(1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.removeAll|-392112695924802945[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}1:0?{EnhancedNullability} + // Public signature: /A.removeAt|955180386267871333[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|7714231289520747684[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /A.replaceAll|-995815259749925224[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0?{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /A.retainAll|-1534406613572258697[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0?{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T?>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.set|1844395769007466284[0] + // Public signature debug description: set(kotlin.Int;1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /A.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.stream|-1283907102219922011[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.subList|-5161416469010351574[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0?{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A#trimToSize(){} + // Public signature: /A.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : ArrayList { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#add(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.add|-7649617528395416779[0] + // Public signature debug description: add(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability T): Boolean + + // CHECK: + // Mangled name: KotlinClass#add(kotlin.Int;1:0{EnhancedNullability}){} + // Public signature: /KotlinClass.add|-7835381475220519018[0] + // Public signature debug description: add(kotlin.Int;1:0{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-8260064064038247705[0] + // Public signature debug description: addAll(kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-1171456338420144152[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<1:0{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: KotlinClass#contains(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.contains|7318927189284050069[0] + // Public signature debug description: contains(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.containsAll|5777492480170694010[0] + // Public signature debug description: containsAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK: + // Mangled name: KotlinClass#ensureCapacity(kotlin.Int){} + // Public signature: /KotlinClass.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|-4817239244234228460[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#get(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.get|-1616786410342871814[0] + // Public signature debug description: get(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#indexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.indexOf|-4114095989627844962[0] + // Public signature debug description: indexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.iterator|-9097215404539831661[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + // Public signature: /KotlinClass.lastIndexOf|3735076863344611532[0] + // Public signature debug description: lastIndexOf(1:0{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability T): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|-4514161793176306640[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.listIterator|8687214114380012284[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|-2383834625361442225[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(1:0{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.remove|-7725023036833951478[0] + // Public signature debug description: remove(1:0{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability T): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.removeAll|-8237266621718680589[0] + // Public signature debug description: removeAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAt(kotlin.Int){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.removeAt|-4392435421743503823[0] + // Public signature debug description: removeAt(kotlin.Int){}1:0{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-6070327374763346765[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: KotlinClass#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /KotlinClass.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|-5629617340757453378[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator<1:0{EnhancedNullability}>{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability T>): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + // Public signature: /KotlinClass.retainAll|-6460341668937178706[0] + // Public signature debug description: retainAll(kotlin.collections.Collection<1:0{EnhancedNullability}>){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability T>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /KotlinClass.set|3195824673299538187[0] + // Public signature debug description: set(kotlin.Int;1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability T): @EnhancedNullability T + + // CHECK: + // Mangled name: KotlinClass#sort(java.util.Comparator?){} + // Public signature: /KotlinClass.sort|1642460028234680746[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-4310759707904128099[0] + // Public signature debug description: spliterator(){}java.util.Spliterator<1:0?>{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.stream|-8831419910627762328[0] + // Public signature debug description: stream(){}java.util.stream.Stream<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.subList|4317992380563523611[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<1:0{EnhancedNullability}>{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability T> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass#trimToSize(){} + // Public signature: /KotlinClass.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A){} +// Public signature: /test|3238565276356872827[0] +// Public signature debug description: test(A){} +fun test(a: A): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..2ee719d2ee7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.ir.txt @@ -0,0 +1,506 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] 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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? + 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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..0cb65b82598 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.kt.txt @@ -0,0 +1,38 @@ +abstract class A : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +abstract class B : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..fa3d8b9a515 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,459 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.computeIfAbsent|6575055089244954734[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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // 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|6575055089244954734[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 + /* 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 + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): 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? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /B.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // 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 + /* 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: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* 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{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.remove|-905392733617879094[0] + // Public signature debug description: remove(kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun remove(p0: @EnhancedNullability Boolean): @EnhancedNullability 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 JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.put|-3189627949496447371[0] + // Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + override fun put(key: Boolean, value: 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? + override fun remove(key: Boolean?): Boolean? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* 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?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* 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? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* 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? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.ir.txt new file mode 100644 index 00000000000..d98cc323faa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.ir.txt @@ -0,0 +1,506 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:putAll visibility:public modality:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] 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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? + 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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt new file mode 100644 index 00000000000..5c80dc5c446 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt @@ -0,0 +1,35 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: 1.kt +import java.util.HashMap +import java.util.SortedMap + +abstract class A : SortedMap, HashMap() + +abstract class B : SortedMap, HashMap() { + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.put(false, false) + b[true] = true + b.remove(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt.txt new file mode 100644 index 00000000000..749ac133b5d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt.txt @@ -0,0 +1,38 @@ +abstract class A : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + +} + +abstract class B : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..aed28ecbea6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.sig.kt.txt @@ -0,0 +1,459 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.computeIfAbsent|6575055089244954734[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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // 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|6575055089244954734[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 + /* 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 + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): 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? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /B.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // 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 + /* 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: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* 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{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /B.remove|-905392733617879094[0] + // Public signature debug description: remove(kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + /* fake */ override fun remove(key: @EnhancedNullability Boolean): @EnhancedNullability 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 JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.put|-3189627949496447371[0] + // Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + override fun put(key: Boolean, value: 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? + override fun remove(key: Boolean?): Boolean? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* 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} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* 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} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* 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} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..dfaa5c1bcff --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.ir.txt @@ -0,0 +1,470 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map]' + 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $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?>?>? + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Set> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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?>? + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Set [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $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?>? + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Collection [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map] + $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; kotlin.collections.Map]' + 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name: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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + 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?>?>? + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Set> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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?>? + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Set [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $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?>? + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.collections.Collection [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..c59a66d8ef6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.kt.txt @@ -0,0 +1,38 @@ +abstract class A : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..148d51471eb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap, Map { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: Set> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Set> + // Public signature: /A.entries.|-2809354568196108179[0] + // Public signature debug description: (){}kotlin.collections.Set> + abstract /* fake */ override get(): Set> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: Set + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Set + // Public signature: /A.keys.|725560008518957077[0] + // Public signature debug description: (){}kotlin.collections.Set + abstract /* fake */ override get(): Set + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: Collection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Collection + // Public signature: /A.values.|3980202946551805295[0] + // Public signature debug description: (){}kotlin.collections.Collection + abstract /* fake */ override get(): Collection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap, Map { + // 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: + // 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#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 JVM_IR: + // Mangled name: B#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.put|-3189627949496447371[0] + // Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + override fun put(key: Boolean, value: 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? + override fun remove(key: Boolean?): Boolean? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: Set> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Set> + // Public signature: /B.entries.|-2809354568196108179[0] + // Public signature debug description: (){}kotlin.collections.Set> + abstract /* fake */ override get(): Set> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: Set + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Set + // Public signature: /B.keys.|725560008518957077[0] + // Public signature debug description: (){}kotlin.collections.Set + abstract /* fake */ override get(): Set + + // 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: Collection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Collection + // Public signature: /B.values.|3980202946551805295[0] + // Public signature debug description: (){}kotlin.collections.Collection + abstract /* fake */ override get(): Collection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.ir.txt new file mode 100644 index 00000000000..6942f809a0a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.ir.txt @@ -0,0 +1,470 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map]' + 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 + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $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?>> + public abstract entries: kotlin.collections.Set> + 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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $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?> + public abstract keys: kotlin.collections.Set + 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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $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 + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $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?> + public abstract values: kotlin.collections.Collection + 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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.Map] + $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; kotlin.collections.Map]' + 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 + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $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: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: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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + 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?>> + public abstract entries: kotlin.collections.Set> + 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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $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?> + public abstract keys: kotlin.collections.Set + 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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $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 + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $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?> + public abstract values: kotlin.collections.Collection + 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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt new file mode 100644 index 00000000000..a10d5a68e28 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt @@ -0,0 +1,34 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: 1.kt +import java.util.SortedMap + +abstract class A : SortedMap, Map + +abstract class B : SortedMap, Map { + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.put(false, false) + b[true] = true + b.remove(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt.txt new file mode 100644 index 00000000000..c59a66d8ef6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt.txt @@ -0,0 +1,38 @@ +abstract class A : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun put(key: Boolean, value: Boolean): Boolean? { + return false + } + + override fun remove(key: Boolean?): Boolean? { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..376abc72a6a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap, Map { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap, Map { + // 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: + // 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#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 JVM_IR: + // Mangled name: B#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.put|-3189627949496447371[0] + // Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + override fun put(key: Boolean, value: 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? + override fun remove(key: Boolean?): Boolean? + + // 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 + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..bfb3f5c7a2c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.ir.txt @@ -0,0 +1,508 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; java.util.HashMap.A, T of .A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : T of .A + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; java.util.HashMap.A, T of .A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>, p0:@[EnhancedNullability] T of .A, p1:@[EnhancedNullability] java.util.function.Function.A, out @[EnhancedNullability] T of .A>) returnType:@[EnhancedNullability] T of .A [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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .A + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A, out @[EnhancedNullability] T of .A> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>, p0:@[EnhancedNullability] T of .A, p1:@[EnhancedNullability] T of .A) returnType:@[EnhancedNullability] T of .A [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .A + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .A + 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SortedMap + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) 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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .A?) 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; java.util.HashMap.B, T of .B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : T of .B + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; java.util.HashMap.B, T of .B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>, p0:@[EnhancedNullability] T of .B, p1:@[EnhancedNullability] java.util.function.Function.B, out @[EnhancedNullability] T of .B>) returnType:@[EnhancedNullability] T of .B [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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B, out @[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>, p0:@[EnhancedNullability] T of .B, p1:@[EnhancedNullability] T of .B) returnType:@[EnhancedNullability] T of .B [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] T of .B + 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SortedMap + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) 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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .B?) 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + 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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B) returnType:T of .B + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..2b5b5540d52 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.kt.txt @@ -0,0 +1,38 @@ +abstract class A : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +abstract class B : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..a7321dd2497 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,453 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /A.computeIfAbsent|-2997705406882389378[0] + // Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T, p1: @EnhancedNullability Function): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /A.getOrDefault|-5203167895378543265[0] + // Public signature debug description: getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability T, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /A.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /A.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.computeIfAbsent|-2997705406882389378[0] + // Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T, p1: @EnhancedNullability Function): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.getOrDefault|-5203167895378543265[0] + // Public signature debug description: getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability T, p1: @EnhancedNullability T): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0? + // Public signature: /B.put|1027165984302173409[0] + // Public signature debug description: put(1:0;1:0){}1:0? + override fun put(key: T, value: T): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}1:0 + // Public signature: /B.remove|6310019492997635497[0] + // Public signature debug description: remove(1:0){}1:0 + override fun remove(key: T): T + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet?>? + // Public signature: /B.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /B.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /B.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.ir.txt new file mode 100644 index 00000000000..16881e5e624 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.ir.txt @@ -0,0 +1,508 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; java.util.HashMap.A, T of .A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] T of .A? + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; java.util.HashMap.A, T of .A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>, p0:@[EnhancedNullability] T of .A, p1:@[EnhancedNullability] java.util.function.Function.A, out @[EnhancedNullability] T of .A>) returnType:@[EnhancedNullability] T of .A [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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .A + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A, out @[EnhancedNullability] T of .A> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap.A, T of .A>, key:@[EnhancedNullability] T of .A, defaultValue:@[EnhancedNullability] T of .A) returnType:@[EnhancedNullability] T of .A [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.A, T of .A> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] T of .A + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] T of .A + 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SortedMap + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) 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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .A?) 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; java.util.HashMap.B, T of .B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] T of .B? + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; java.util.HashMap.B, T of .B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedMap + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>, p0:@[EnhancedNullability] T of .B, p1:@[EnhancedNullability] java.util.function.Function.B, out @[EnhancedNullability] T of .B>) returnType:@[EnhancedNullability] T of .B [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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] T of .B + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B, out @[EnhancedNullability] T of .B> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + $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.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap.B, T of .B>, key:@[EnhancedNullability] T of .B, defaultValue:@[EnhancedNullability] T of .B) returnType:@[EnhancedNullability] T of .B [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap.B, T of .B> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] T of .B + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] T of .B + 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SortedMap + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) 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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .B?) 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + 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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B) returnType:T of .B + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean + : kotlin.Boolean + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt new file mode 100644 index 00000000000..0b84d75e1f6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt @@ -0,0 +1,35 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: 1.kt +import java.util.HashMap +import java.util.SortedMap + +abstract class A : SortedMap, HashMap() + +abstract class B : SortedMap, HashMap() { + override fun put(key: T, value: T): T? { + return null!! + } + + override fun remove(key: T): T { + return null!! + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.put(false, false) + b[true] = true + b.remove(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt.txt new file mode 100644 index 00000000000..6ff3da73208 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt.txt @@ -0,0 +1,38 @@ +abstract class A : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability T?, @FlexibleNullability T?>() + /* () */ + + } + +} + +abstract class B : HashMap, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability T?, @FlexibleNullability T?>() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..4127a64b97a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.sig.kt.txt @@ -0,0 +1,453 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /A.computeIfAbsent|-2997705406882389378[0] + // Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T, p1: @EnhancedNullability Function): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /A.getOrDefault|-5203167895378543265[0] + // Public signature debug description: getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability T, defaultValue: @EnhancedNullability T): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /A.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /A.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.computeIfAbsent|-2997705406882389378[0] + // Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T, p1: @EnhancedNullability Function): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + // Public signature: /B.getOrDefault|-5203167895378543265[0] + // Public signature debug description: getOrDefault(1:0{EnhancedNullability};1:0{EnhancedNullability}){}1:0{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability T, defaultValue: @EnhancedNullability T): @EnhancedNullability T + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0? + // Public signature: /B.put|1027165984302173409[0] + // Public signature debug description: put(1:0;1:0){}1:0? + override fun put(key: T, value: T): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}1:0 + // Public signature: /B.remove|6310019492997635497[0] + // Public signature debug description: remove(1:0){}1:0 + override fun remove(key: T): T + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /B.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /B.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..e43607e3495 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.ir.txt @@ -0,0 +1,479 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; kotlin.collections.Map.A, T of .A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; kotlin.collections.Map.A, T of .A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map.A, T of .A>, key:T of .A, defaultValue:T of .A) returnType:T of .A [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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.A, T of .A> + VALUE_PARAMETER name:key index:0 type:T of .A + VALUE_PARAMETER name:defaultValue index:1 type:T of .A + 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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .A?) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $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?>?>? + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.A, T of .A>) returnType:kotlin.collections.Set.A, T of .A>> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.A, T of .A> + 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?>? + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.A, T of .A>) returnType:kotlin.collections.Set.A> [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.A, T of .A> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + 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?>? + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.A, T of .A>) returnType:kotlin.collections.Collection.A> [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.A, T of .A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; kotlin.collections.Map.B, T of .B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.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.B, T of .B>; kotlin.collections.Map.B, T of .B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map.B, T of .B>, key:T of .B, defaultValue:T of .B) returnType:T of .B [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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.B, T of .B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:defaultValue index:1 type:T of .B + 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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .B?) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B + 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:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B) returnType:T of .B + 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:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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?>?>? + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.B, T of .B>) returnType:kotlin.collections.Set.B, T of .B>> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.B, T of .B> + 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?>? + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.B, T of .B>) returnType:kotlin.collections.Set.B> [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.B, T of .B> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + 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?>? + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map.B, T of .B>) returnType:kotlin.collections.Collection.B> [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.B, T of .B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..1ca8b71b92d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.kt.txt @@ -0,0 +1,39 @@ +abstract class A : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun put(key: T, value: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..35728873af9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap, Map { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: Set> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Set> + // Public signature: /A.entries.|-5986194983903192721[0] + // Public signature debug description: (){}kotlin.collections.Set> + abstract /* fake */ override get(): Set> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: Set + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Set<1:0> + // Public signature: /A.keys.|4915091794204623606[0] + // Public signature debug description: (){}kotlin.collections.Set<1:0> + abstract /* fake */ override get(): Set + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: Collection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.Collection<1:0> + // Public signature: /A.values.|2266299290016332619[0] + // Public signature debug description: (){}kotlin.collections.Collection<1:0> + abstract /* fake */ override get(): Collection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap, Map { + // 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): 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(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0 + // Public signature: /B.put|-7033067228124558748[0] + // Public signature debug description: put(1:0;1:0){}1:0 + override fun put(key: T, value: T): T + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}1:0 + // Public signature: /B.remove|6310019492997635497[0] + // Public signature debug description: remove(1:0){}1:0 + override fun remove(key: T): T + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: Set> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Set> + // Public signature: /B.entries.|-5986194983903192721[0] + // Public signature debug description: (){}kotlin.collections.Set> + abstract /* fake */ override get(): Set> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: Set + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Set<1:0> + // Public signature: /B.keys.|4915091794204623606[0] + // Public signature debug description: (){}kotlin.collections.Set<1:0> + abstract /* fake */ override get(): Set + + // 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: Collection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.Collection<1:0> + // Public signature: /B.values.|2266299290016332619[0] + // Public signature debug description: (){}kotlin.collections.Collection<1:0> + abstract /* fake */ override get(): Collection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.ir.txt new file mode 100644 index 00000000000..adf033b0db7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.ir.txt @@ -0,0 +1,479 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; kotlin.collections.Map.A, T of .A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.A, T of .A>; kotlin.collections.Map.A, T of .A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map.A, T of .A>, key:T of .A, defaultValue:T of .A) returnType:T of .A [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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.A, T of .A> + VALUE_PARAMETER name:key index:0 type:T of .A + VALUE_PARAMETER name:defaultValue index:1 type:T of .A + 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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[FlexibleNullability] T of .A? [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.A, T of .A> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .A?) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) 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] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [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.A, T of .A> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $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?>> + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + 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?> + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + 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?> + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.A, T of .A>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.A, T of .A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.B, T of .B>; kotlin.collections.Map.B, T of .B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.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.B, T of .B>; kotlin.collections.Map.B, T of .B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsValue (value: V of kotlin.collections.Map): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Map + $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.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SortedMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [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 + public abstract fun get (key: K of kotlin.collections.Map): V of kotlin.collections.Map? declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map.B, T of .B>, key:T of .B, defaultValue:T of .B) returnType:T of .B [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 + public open fun getOrDefault (key: K of kotlin.collections.Map, defaultValue: V of kotlin.collections.Map): V of kotlin.collections.Map declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map.B, T of .B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:defaultValue index:1 type:T of .B + 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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedMap + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[FlexibleNullability] T of .B? [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.B, T of .B> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .B?) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) 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] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [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.B, T of .B> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 + public open fun toString (): kotlin.String declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B + 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:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B) returnType:T of .B + 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:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B): T of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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?>> + public abstract entries: kotlin.collections.Set> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>> [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 + public abstract fun (): kotlin.collections.Set> declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + 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?> + public abstract keys: kotlin.collections.Set + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [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 + public abstract fun (): kotlin.collections.Set declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + 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?> + public abstract values: kotlin.collections.Collection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.B, T of .B>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [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 + public abstract fun (): kotlin.collections.Collection declared in kotlin.collections.Map + $this: VALUE_PARAMETER name: type:java.util.SortedMap.B, T of .B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .B): T of .B declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt new file mode 100644 index 00000000000..9a890ef3e68 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt @@ -0,0 +1,35 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: 1.kt +import java.util.SortedMap + +abstract class A : SortedMap, Map + +abstract class B : SortedMap, Map { + override fun put(key: T, value: T): T { + return null!! + } + + override fun remove(key: T): T { + return null!! + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.put(false, false) + b[true] = true + b.remove(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt.txt new file mode 100644 index 00000000000..cbc723f30b1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt.txt @@ -0,0 +1,39 @@ +abstract class A : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap, Map { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun put(key: T, value: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.set(key = true, value = true) + b.remove(key = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..c6d457063a7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap, Map { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /A.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /A.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap, Map { + // 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): 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(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0 + // Public signature: /B.put|-7033067228124558748[0] + // Public signature debug description: put(1:0;1:0){}1:0 + override fun put(key: T, value: T): T + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0){}1:0 + // Public signature: /B.remove|6310019492997635497[0] + // Public signature debug description: remove(1:0){}1:0 + override fun remove(key: T): T + + // 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.|-3651740414273962157[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<1:0?>{EnhancedNullability} + // Public signature: /B.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{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<1:0?>{EnhancedNullability} + // Public signature: /B.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.ir.txt new file mode 100644 index 00000000000..a37ec4d54bf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.ir.txt @@ -0,0 +1,663 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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: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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[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] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? [operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:isEmpty visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isEmpty (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) 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] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isEmpty (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.kt.txt new file mode 100644 index 00000000000..278010026aa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.kt.txt @@ -0,0 +1,60 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(key: Boolean?): Boolean? { + return true + } + + override fun isEmpty(): Boolean { + return true + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class KotlinClass : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.isEmpty() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..ac28022bbb5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.fir.sig.kt.txt @@ -0,0 +1,587 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // 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#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#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 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? + override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + override fun isEmpty(): Boolean + + // 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{}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? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +abstract class KotlinClass : SortedMap { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#comparator(){}java.util.Comparator? + // Public signature: /KotlinClass.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#firstKey(){}kotlin.Boolean? + // Public signature: /KotlinClass.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinClass.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: KotlinClass#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.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: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastKey(){}kotlin.Boolean? + // Public signature: /KotlinClass.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#putAll(kotlin.collections.Map){} + // Public signature: /KotlinClass.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinClass.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: KotlinClass#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.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: KotlinClass#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: KotlinClass{}entries + // Public signature: /KotlinClass.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet?>? + // Public signature: /KotlinClass.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: KotlinClass{}keys + // Public signature: /KotlinClass.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet? + // Public signature: /KotlinClass.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinClass{}values + // Public signature: /KotlinClass.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableCollection? + // Public signature: /KotlinClass.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.ir.txt new file mode 100644 index 00000000000..1cfdb03b681 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.ir.txt @@ -0,0 +1,663 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> declared in .Java1 + $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] kotlin.Boolean?> + 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] kotlin.Boolean?> declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?> + 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] kotlin.Boolean?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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: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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + VALUE_PARAMETER name:p0 index:0 type:@[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] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java1 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java1 + $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 .Java1 + $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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? [operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:isEmpty visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isEmpty (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> declared in .Java1 + $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] kotlin.Boolean?> + 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] kotlin.Boolean?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass 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 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isEmpty (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt new file mode 100644 index 00000000000..1a1327477fe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt @@ -0,0 +1,50 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: Java1.java +abstract public class Java1 extends KotlinClass {} + +// FILE: 1.kt +import java.util.SortedMap + +abstract class A : Java1() + +abstract class B : Java1() { + override val size: Int + get() = 5 + + override fun get(key: Boolean?): Boolean? { + return true + } + + override fun isEmpty(): Boolean { + return true + } +} + +abstract class KotlinClass : SortedMap + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + a.isNotEmpty() + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) + b.isEmpty() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt.txt new file mode 100644 index 00000000000..278010026aa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt.txt @@ -0,0 +1,60 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(key: Boolean?): Boolean? { + return true + } + + override fun isEmpty(): Boolean { + return true + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class KotlinClass : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.isEmpty() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.sig.kt.txt new file mode 100644 index 00000000000..9600430481d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.sig.kt.txt @@ -0,0 +1,587 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // 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#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#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 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? + override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + override fun isEmpty(): Boolean + + // 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{}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 + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +abstract class KotlinClass : SortedMap { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#comparator(){}java.util.Comparator? + // Public signature: /KotlinClass.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#firstKey(){}kotlin.Boolean? + // Public signature: /KotlinClass.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinClass.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: KotlinClass#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.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: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastKey(){}kotlin.Boolean? + // Public signature: /KotlinClass.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#putAll(kotlin.collections.Map){} + // Public signature: /KotlinClass.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinClass.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: KotlinClass#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinClass.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: KotlinClass#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.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: KotlinClass#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinClass.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: KotlinClass#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.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: KotlinClass#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinClass.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: KotlinClass{}entries + // Public signature: /KotlinClass.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: KotlinClass{}keys + // Public signature: /KotlinClass.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /KotlinClass.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinClass{}values + // Public signature: /KotlinClass.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /KotlinClass.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..5fddc8f7250 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,3027 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .Java1 + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .Java1 + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Boolean + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($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 + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($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 + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + 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 + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, key:kotlin.Boolean) returnType:kotlin.Boolean + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>?>? + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? declared in java.util.SortedMap + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface]' + 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 + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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 + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + 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 + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $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?>?>? + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [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 + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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?>? + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [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 + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableMap + $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?>? + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [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 + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface]' + 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 + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] 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 + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[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 + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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 + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, key:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:key index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any): kotlin.Boolean declared in .F' + CONST Boolean type=kotlin.Boolean value=true + 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?>?>? + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [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 + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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?>? + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [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 + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableMap + $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?>? + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [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 + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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 .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, 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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[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:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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:.Java2) 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 .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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 .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, 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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[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:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.J, key:kotlin.Boolean?) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' + CONST Boolean type=kotlin.Boolean value=true + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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:.Java2) 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 .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) 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] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.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 .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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.AbstractMutableMap<@[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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[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:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java3 + $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:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.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 .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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.AbstractMutableMap<@[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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[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:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java3 + $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:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.L, key:kotlin.Boolean) returnType:kotlin.Boolean + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .L' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: kotlin.Boolean, defaultValue: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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.MutableMap) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS CLASS name:N modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: kotlin.Boolean, defaultValue: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.N, key:kotlin.Boolean) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .N' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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.MutableMap) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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.MutableMap) 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:i index:6 type:.I + VALUE_PARAMETER name:j index:7 type:.J + VALUE_PARAMETER name:k index:8 type:.K + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .E' type=kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .E' type=kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .F' type=kotlin.Boolean? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .F' type=kotlin.Boolean? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .I' type=kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .I' type=kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .I' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' type=kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' type=kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .J' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .K' type=kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .K' type=kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .K' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .L' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .L' type=kotlin.Boolean origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .L' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .M' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .M' type=kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .M' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .N' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .N' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .N' type=kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .N' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..368f8aa35ca --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,190 @@ +abstract class A : HashMap, Java1, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +abstract class B : HashMap, Java1, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean? { + return false + } + +} + +abstract class C : HashMap, KotlinInterface, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +abstract class D : HashMap, KotlinInterface, SortedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean { + return true + } + +} + +abstract class E : KotlinInterface, SortedMap, MutableMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class F : KotlinInterface, SortedMap, MutableMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: Any): Boolean { + return true + } + +} + +abstract class I : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class J : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun remove(key: Boolean?): Boolean? { + return true + } + +} + +abstract class K : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class L : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean { + return true + } + +} + +abstract class M : Java1, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class N : Java1, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean? { + return null + } + +} + +interface KotlinInterface { + abstract fun remove(key: Any): Boolean + +} + +interface KotlinInterface2 : SortedMap { +} + +interface KotlinInterface3 : MutableMap { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N) { + a.() /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + c.() /*~> Unit */ + c.remove(key = null) /*~> Unit */ + c.remove(key = true) /*~> Unit */ + c.remove(key = "") /*~> Unit */ + d.() /*~> Unit */ + d.remove(key = true) /*~> Unit */ + d.remove(key = "") /*~> Unit */ + e.() /*~> Unit */ + e.remove(key = true) /*~> Unit */ + e.remove(key = "") /*~> Unit */ + e.remove(key = null) /*~> Unit */ + f.() /*~> Unit */ + f.remove(key = true) /*~> Unit */ + f.remove(key = "") /*~> Unit */ + f.remove(key = null) /*~> Unit */ + i.() /*~> Unit */ + i.remove(key = null) /*~> Unit */ + i.remove(key = true) /*~> Unit */ + i.remove(key = "") /*~> Unit */ + j.() /*~> Unit */ + j.remove(key = null) /*~> Unit */ + j.remove(key = true) /*~> Unit */ + j.remove(key = "") /*~> Unit */ + k.() /*~> Unit */ + k.remove(key = null) /*~> Unit */ + k.remove(key = true) /*~> Unit */ + k.remove(key = "") /*~> Unit */ + l.() /*~> Unit */ + l.remove(key = null) /*~> Unit */ + l.remove(key = true) /*~> Unit */ + l.remove(key = "") /*~> Unit */ + m.() /*~> Unit */ + m.remove(key = null) /*~> Unit */ + m.remove(key = true) /*~> Unit */ + m.remove(key = "") /*~> Unit */ + n.() /*~> Unit */ + n.remove(key = null) /*~> Unit */ + n.remove(key = true) /*~> Unit */ + n.remove(key = "") /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.sig.kt.txt new file mode 100644 index 00000000000..b1f499973c7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.fir.sig.kt.txt @@ -0,0 +1,2781 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, Java1, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.computeIfAbsent|6575055089244954734[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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /A.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, Java1, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // 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|6575055089244954734[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 + /* 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 + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): 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? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /B.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // 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 + /* 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? + /* 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){} + /* 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.Any?){}kotlin.Boolean? + // Public signature: /B.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): 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 JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + override fun remove(key: Boolean): Boolean? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* 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?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* 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? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* 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? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : HashMap, KotlinInterface, SortedMap { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /C.computeIfAbsent|6575055089244954734[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: C#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /C.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /C.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#firstKey(){}kotlin.Boolean? + // Public signature: /C.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: C#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /C.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: C#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /C.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.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: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#lastKey(){}kotlin.Boolean? + // Public signature: /C.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: C#putAll(kotlin.collections.Map){} + // Public signature: /C.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: C#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /C.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /C.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: C#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.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: C#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C{}entries + // Public signature: /C.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet?>? + // Public signature: /C.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: C{}keys + // Public signature: /C.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet? + // Public signature: /C.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}values + // Public signature: /C.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableCollection? + // Public signature: /C.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : HashMap, KotlinInterface, SortedMap { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#comparator(){}java.util.Comparator? + // Public signature: /D.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: D#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /D.computeIfAbsent|6575055089244954734[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: D#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /D.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /D.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#firstKey(){}kotlin.Boolean? + // Public signature: /D.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: D#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /D.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: D#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /D.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: D#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /D.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.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: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#lastKey(){}kotlin.Boolean? + // Public signature: /D.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: D#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /D.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: D#putAll(kotlin.collections.Map){} + // Public signature: /D.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: D#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /D.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /D.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: D#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.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: D#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Boolean){}kotlin.Boolean + // Public signature: /D.remove|-1371993909026213740[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean + override fun remove(key: Boolean): Boolean + + // CHECK: + // Mangled name: D{}entries + // Public signature: /D.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet?>? + // Public signature: /D.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: D{}keys + // Public signature: /D.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet? + // Public signature: /D.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}values + // Public signature: /D.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableCollection? + // Public signature: /D.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : KotlinInterface, SortedMap, MutableMap { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#comparator(){}java.util.Comparator? + // Public signature: /E.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: E#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /E.computeIfAbsent|6575055089244954734[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: E#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /E.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: E#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /E.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: E#firstKey(){}kotlin.Boolean? + // Public signature: /E.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: E#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /E.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: E#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.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: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#lastKey(){}kotlin.Boolean? + // Public signature: /E.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: E#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#putAll(kotlin.collections.Map){} + // Public signature: /E.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: E#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /E.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.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: E#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /E.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: E#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.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: E#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: E{}entries + // Public signature: /E.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet> + // Public signature: /E.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: E{}keys + // Public signature: /E.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet + // Public signature: /E.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}values + // Public signature: /E.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableCollection + // Public signature: /E.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : KotlinInterface, SortedMap, MutableMap { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#comparator(){}java.util.Comparator? + // Public signature: /F.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: F#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /F.computeIfAbsent|6575055089244954734[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: F#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /F.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: F#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /F.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: F#firstKey(){}kotlin.Boolean? + // Public signature: /F.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: F#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /F.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: F#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.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: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#lastKey(){}kotlin.Boolean? + // Public signature: /F.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: F#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#putAll(kotlin.collections.Map){} + // Public signature: /F.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: F#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.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: F#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /F.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: F#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.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: F#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /F.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + override fun remove(key: Any): Boolean + + // CHECK: + // Mangled name: F{}entries + // Public signature: /F.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet> + // Public signature: /F.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: F{}keys + // Public signature: /F.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet + // Public signature: /F.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: F{}values + // Public signature: /F.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableCollection + // Public signature: /F.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java2, Java1 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#comparator(){}java.util.Comparator? + // Public signature: /I.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: I#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /I.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: I#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /I.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: I#firstKey(){}kotlin.Boolean? + // Public signature: /I.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: I#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /I.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: I#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.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: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#lastKey(){}kotlin.Boolean? + // Public signature: /I.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: I#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#putAll(kotlin.collections.Map){} + // Public signature: /I.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: I#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /I.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.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: I#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /I.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: I#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.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: I#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: I{}entries + // Public signature: /I.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableSet?>? + // Public signature: /I.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: I{}keys + // Public signature: /I.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableSet? + // Public signature: /I.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: I{}values + // Public signature: /I.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableCollection? + // Public signature: /I.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java2, Java1 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#comparator(){}java.util.Comparator? + // Public signature: /J.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: J#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /J.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: J#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /J.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: J#firstKey(){}kotlin.Boolean? + // Public signature: /J.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: J#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /J.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: J#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.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: J#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.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: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#lastKey(){}kotlin.Boolean? + // Public signature: /J.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: J#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.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: J#putAll(kotlin.collections.Map){} + // Public signature: /J.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: J#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /J.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.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: J#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /J.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: J#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.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: J#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + override fun remove(key: Boolean?): Boolean? + + // CHECK: + // Mangled name: J{}entries + // Public signature: /J.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableSet?>? + // Public signature: /J.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: J{}keys + // Public signature: /J.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableSet? + // Public signature: /J.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: J{}values + // Public signature: /J.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableCollection? + // Public signature: /J.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +abstract class K : Java3, Java1 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#clear(){} + // Public signature: /K.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: K#clone(){}kotlin.Any? + // Public signature: /K.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: K#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /K.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: K#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /K.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: K#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /K.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: K#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /K.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: K#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#hashCode(){}kotlin.Int + // Public signature: /K.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: K#isEmpty(){}kotlin.Boolean + // Public signature: /K.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: K#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.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: K#putAll(kotlin.collections.Map){} + // Public signature: /K.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: K#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /K.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /K.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: K#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /K.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: K#toString(){}kotlin.String + // Public signature: /K.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: K{}entries + // Public signature: /K.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableSet> + // Public signature: /K.entries.|-8706083201241599756[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: K{}keys + // Public signature: /K.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableSet + // Public signature: /K.keys.|-2552716340993423855[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: K{}size + // Public signature: /K.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: K{}values + // Public signature: /K.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableCollection + // Public signature: /K.values.|4180852610867688478[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +abstract class L : Java3, Java1 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#clear(){} + // Public signature: /L.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: L#clone(){}kotlin.Any? + // Public signature: /L.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: L#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /L.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: L#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /L.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: L#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /L.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: L#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /L.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: L#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /L.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: L#hashCode(){}kotlin.Int + // Public signature: /L.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: L#isEmpty(){}kotlin.Boolean + // Public signature: /L.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: L#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /L.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: L#putAll(kotlin.collections.Map){} + // Public signature: /L.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: L#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /L.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /L.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: L#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /L.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: L#toString(){}kotlin.String + // Public signature: /L.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: L#remove(kotlin.Boolean){}kotlin.Boolean + // Public signature: /L.remove|-1371993909026213740[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean + override fun remove(key: Boolean): Boolean + + // CHECK: + // Mangled name: L{}entries + // Public signature: /L.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableSet> + // Public signature: /L.entries.|-8706083201241599756[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: L{}keys + // Public signature: /L.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableSet + // Public signature: /L.keys.|-2552716340993423855[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: L{}size + // Public signature: /L.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: L{}values + // Public signature: /L.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableCollection + // Public signature: /L.values.|4180852610867688478[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +abstract class M : Java1, KotlinInterface3 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#clear(){} + // Public signature: /M.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: M#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.compute|-7729972313536917040[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: M#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /M.computeIfAbsent|6575055089244954734[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: M#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.computeIfPresent|-2979151786355445339[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: M#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /M.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: M#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /M.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: M#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /M.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: M#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#isEmpty(){}kotlin.Boolean + // Public signature: /M.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: M#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.merge|-5282806922204131463[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: M#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.put|-3189627949496447371[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: M#putAll(kotlin.collections.Map){} + // Public signature: /M.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: M#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.putIfAbsent|370123292273264251[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: M#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /M.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.replace|-8349928155045608191[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: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /M.replace|-4612021372079544464[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: M#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /M.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK: + // Mangled name: M{}entries + // Public signature: /M.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableSet> + // Public signature: /M.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: M{}keys + // Public signature: /M.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableSet + // Public signature: /M.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: M{}size + // Public signature: /M.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: M{}values + // Public signature: /M.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableCollection + // Public signature: /M.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +abstract class N : Java1, KotlinInterface3 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#clear(){} + // Public signature: /N.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: N#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.compute|-7729972313536917040[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: N#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /N.computeIfAbsent|6575055089244954734[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: N#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.computeIfPresent|-2979151786355445339[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: N#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /N.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: N#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /N.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: N#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /N.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: N#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: N#isEmpty(){}kotlin.Boolean + // Public signature: /N.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: N#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.merge|-5282806922204131463[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: N#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.put|-3189627949496447371[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: N#putAll(kotlin.collections.Map){} + // Public signature: /N.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: N#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.putIfAbsent|370123292273264251[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: N#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /N.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.replace|-8349928155045608191[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: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /N.replace|-4612021372079544464[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: N#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /N.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: N#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + override fun remove(key: Boolean): Boolean? + + // CHECK: + // Mangled name: N{}entries + // Public signature: /N.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableSet> + // Public signature: /N.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: N{}keys + // Public signature: /N.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableSet + // Public signature: /N.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: N{}size + // Public signature: /N.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: N{}values + // Public signature: /N.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableCollection + // Public signature: /N.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract fun remove(key: Any): Boolean + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : SortedMap { + // CHECK: + // Mangled name: KotlinInterface2#clear(){} + // Public signature: /KotlinInterface2.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#comparator(){}java.util.Comparator? + // Public signature: /KotlinInterface2.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#firstKey(){}kotlin.Boolean? + // Public signature: /KotlinInterface2.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: KotlinInterface2#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinInterface2.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: KotlinInterface2#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.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: KotlinInterface2#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface2.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#lastKey(){}kotlin.Boolean? + // Public signature: /KotlinInterface2.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#putAll(kotlin.collections.Map){} + // Public signature: /KotlinInterface2.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinInterface2.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: KotlinInterface2#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.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: KotlinInterface2#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: KotlinInterface2{}entries + // Public signature: /KotlinInterface2.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableSet?>? + // Public signature: /KotlinInterface2.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: KotlinInterface2{}keys + // Public signature: /KotlinInterface2.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableSet? + // Public signature: /KotlinInterface2.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: KotlinInterface2{}size + // Public signature: /KotlinInterface2.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinInterface2{}values + // Public signature: /KotlinInterface2.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableCollection? + // Public signature: /KotlinInterface2.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: KotlinInterface3 +// Public signature: /KotlinInterface3|null[0] +interface KotlinInterface3 : MutableMap { + // CHECK: + // Mangled name: KotlinInterface3#clear(){} + // Public signature: /KotlinInterface3.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.compute|-7729972313536917040[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: KotlinInterface3#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /KotlinInterface3.computeIfAbsent|6575055089244954734[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: KotlinInterface3#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.computeIfPresent|-2979151786355445339[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: KotlinInterface3#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinInterface3.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface3.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.merge|-5282806922204131463[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: KotlinInterface3#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.put|-3189627949496447371[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: KotlinInterface3#putAll(kotlin.collections.Map){} + // Public signature: /KotlinInterface3.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.putIfAbsent|370123292273264251[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: KotlinInterface3#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.replace|-8349928155045608191[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: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.replace|-4612021372079544464[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: KotlinInterface3#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinInterface3.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK: + // Mangled name: KotlinInterface3{}entries + // Public signature: /KotlinInterface3.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableSet> + // Public signature: /KotlinInterface3.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: KotlinInterface3{}keys + // Public signature: /KotlinInterface3.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableSet + // Public signature: /KotlinInterface3.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: KotlinInterface3{}size + // Public signature: /KotlinInterface3.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.Int + // Public signature: /KotlinInterface3.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinInterface3{}values + // Public signature: /KotlinInterface3.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableCollection + // Public signature: /KotlinInterface3.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;I;J;K;L;M;N){} +// Public signature: /test|-19437441252080184[0] +// Public signature debug description: test(A;B;C;D;E;F;I;J;K;L;M;N){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..dd290f6d3ee --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,3027 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .Java1 + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .Java1 + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; java.util.HashMap; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($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 + public open fun clear (): kotlin.Unit declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + 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 + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:java.util.HashMap, key:@[EnhancedNullability] kotlin.Boolean, defaultValue:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + 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 + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] 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 + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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:OPEN <> ($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 + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:OPEN <> ($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 + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + 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 + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.HashMap + $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 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, key:kotlin.Boolean) returnType:kotlin.Boolean + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [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?>> + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($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:OPEN [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 + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + public open fun (): kotlin.Int declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> declared in java.util.SortedMap + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface]' + 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 + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + 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 + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $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?>> + public abstract entries: kotlin.collections.MutableSet> + 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 + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $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?> + public abstract keys: kotlin.collections.MutableSet + 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 + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $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 + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableMap + $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?> + public abstract values: kotlin.collections.MutableCollection + 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 + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap; kotlin.collections.MutableMap; .KotlinInterface]' + 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 + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] 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 + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[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 + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType: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 + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableMap + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $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 + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $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 + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in kotlin.collections.MutableMap + $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 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, key:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:key index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any): kotlin.Boolean declared in .F' + CONST Boolean type=kotlin.Boolean value=true + 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?>> + public abstract entries: kotlin.collections.MutableSet> + 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 + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $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?> + public abstract keys: kotlin.collections.MutableSet + 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 + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $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 + 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 + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableMap + $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?> + public abstract values: kotlin.collections.MutableCollection + 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 + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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 .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, 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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[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:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $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 .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java2 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java2 + $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 .Java2 + $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<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, 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] kotlin.Boolean?, p1: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[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:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] kotlin.Boolean?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.J, key:kotlin.Boolean?) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' + CONST Boolean type=kotlin.Boolean value=true + 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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 .Java2 + $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] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) 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] kotlin.Boolean?> declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.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 .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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.AbstractMutableMap<@[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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[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:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java3 + $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:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.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 .Java3 + $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:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, defaultValue: @[FlexibleNullability] kotlin.Boolean?): @[FlexibleNullability] kotlin.Boolean? declared in .Java3 + $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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + 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] kotlin.Boolean?, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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.AbstractMutableMap<@[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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[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:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + 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] kotlin.Boolean?, value: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): @[EnhancedNullability] kotlin.Boolean? declared in .Java3 + $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] kotlin.Boolean?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean declared in .Java3 + $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 .Java3 + $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:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.L, key:kotlin.Boolean) returnType:kotlin.Boolean + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .Java3 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .L' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Boolean?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: kotlin.Boolean, defaultValue: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS CLASS name:N modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: kotlin.Boolean, defaultValue: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, key:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: kotlin.Boolean, value: kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean): @[EnhancedNullability] kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] kotlin.Boolean, p1: @[EnhancedNullability] kotlin.Boolean, p2: @[EnhancedNullability] kotlin.Boolean): kotlin.Boolean declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.N, key:kotlin.Boolean) returnType:kotlin.Boolean? + overridden: + public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .N' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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) 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 .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, key:kotlin.Any) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:key index:0 type:kotlin.Any + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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 + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Boolean [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, key:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: K of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:value index:0 type: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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + 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, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override,operator] + overridden: + public abstract fun get (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:kotlin.Boolean, defaultValue:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: K of kotlin.collections.MutableMap, defaultValue: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:defaultValue index:1 type: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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] {V of kotlin.collections.MutableMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: K of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, key:kotlin.Boolean, value:kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean + VALUE_PARAMETER name:value index:1 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap): @[EnhancedNullability] V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] kotlin.Boolean, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] kotlin.Boolean) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] V of kotlin.collections.MutableMap, p2: @[EnhancedNullability] V of kotlin.collections.MutableMap): kotlin.Boolean declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Boolean + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + 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) 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 kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap) returnType:kotlin.collections.MutableCollection [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection declared in kotlin.collections.MutableMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:i index:6 type:.I + VALUE_PARAMETER name:j index:7 type:.J + VALUE_PARAMETER name:k index:8 type:.K + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .E' type=kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Any): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .E' type=kotlin.Boolean? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .F' type=kotlin.Boolean? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .F' type=kotlin.Boolean? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .I' type=kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .I' type=kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .I' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' type=kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .J' type=kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .J' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .K' type=kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .K' type=kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .K' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .L' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean declared in .L' type=kotlin.Boolean origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .L' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .M' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .M' type=kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .M' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + key: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .N' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .N' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean): kotlin.Boolean? declared in .N' type=kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Boolean? declared in .N' type=@[FlexibleNullability] kotlin.Boolean? origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + key: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..f48b81e913e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt @@ -0,0 +1,137 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: Java1.java +public interface Java1 { + Boolean remove(Object key); +} + +// FILE: Java2.java +import java.util.SortedMap; +public abstract class Java2 implements SortedMap { } + +// FILE: Java3.java +import kotlin.collections.AbstractMutableMap; +public abstract class Java3 extends AbstractMutableMap { } + +// FILE: 1.kt +import java.util.* + +abstract class A : SortedMap, HashMap(), Java1 //Kotlin ← Java1, Java2, Java3 + +abstract class B : SortedMap, HashMap(), Java1 { + override fun remove(key: Boolean): Boolean? { + return false + } +} + +abstract class C : SortedMap, HashMap(), KotlinInterface //Kotlin ← Java1, Java2, Kotlin2 + +abstract class D : SortedMap, HashMap(), KotlinInterface { + override fun remove(key: Boolean): Boolean { + return true + } +} + +abstract class E : SortedMap, MutableMap, KotlinInterface //Kotlin ← Java, Kotlin1, Kotlin2 + +abstract class F : SortedMap, MutableMap, KotlinInterface { + override fun remove(key: Any): Boolean { + return true + } +} + +abstract class I : Java1, Java2() // Kotlin ← Java1, Java2 ← Java3 + +abstract class J : Java1, Java2() { + override fun remove(key: Boolean?): Boolean? { + return true + } +} + +abstract class K : Java1, Java3() //Kotlin ← Java1, Java2 ← Kotlin2 + +abstract class L : Java1, Java3() { + override fun remove(key: Boolean): Boolean { + return true + } +} + +abstract class M : Java1, KotlinInterface3 //Kotlin ← Java, Kotlin2 ← Kotlin3 + +abstract class N : Java1, KotlinInterface3 { + override fun remove(key: Boolean): Boolean? { + return null + } +} + + +interface KotlinInterface { + fun remove(key: Any): Boolean +} + +interface KotlinInterface2 : SortedMap + +interface KotlinInterface3 : MutableMap + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N) { + a.size + a.remove(null) + a.remove(true) + + b.size + b.remove(null) + b.remove(true) + + c.size + c.remove(null) + c.remove(true) + c.remove("") + + d.size + d.remove(true) + d.remove("") + + e.size + e.remove(true) + e.remove("") + e.remove(null) + + f.size + f.remove(true) + f.remove("") + f.remove(null) + + i.size + i.remove(null) + i.remove(true) + i.remove("") + + j.size + j.remove(null) + j.remove(true) + j.remove("") + + k.size + k.remove(null) + k.remove(true) + k.remove("") + + l.size + l.remove(null) + l.remove(true) + l.remove("") + + m.size + m.remove(null) + m.remove(true) + m.remove("") + + n.size + n.remove(null) + n.remove(true) + n.remove("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..dec179a2eb9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,190 @@ +abstract class A : HashMap, Java1, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + +} + +abstract class B : HashMap, Java1, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + + override fun remove(key: Boolean): Boolean? { + return false + } + +} + +abstract class C : HashMap, KotlinInterface, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + +} + +abstract class D : HashMap, KotlinInterface, SortedMap { + constructor() /* primary */ { + super/*HashMap*/<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() + /* () */ + + } + + override fun remove(key: Boolean): Boolean { + return true + } + +} + +abstract class E : KotlinInterface, SortedMap, MutableMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class F : KotlinInterface, SortedMap, MutableMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: Any): Boolean { + return true + } + +} + +abstract class I : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class J : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun remove(key: Boolean?): Boolean? { + return true + } + +} + +abstract class K : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class L : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean { + return true + } + +} + +abstract class M : Java1, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class N : Java1, KotlinInterface3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: Boolean): Boolean? { + return null + } + +} + +interface KotlinInterface { + abstract fun remove(key: Any): Boolean + +} + +interface KotlinInterface2 : SortedMap { +} + +interface KotlinInterface3 : MutableMap { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N) { + a.() /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + c.() /*~> Unit */ + c.remove(key = null) /*~> Unit */ + c.remove(key = true) /*~> Unit */ + c.remove(key = "") /*~> Unit */ + d.() /*~> Unit */ + d.remove(key = true) /*~> Unit */ + d.remove(key = "") /*~> Unit */ + e.() /*~> Unit */ + e.remove(key = true) /*~> Unit */ + e.remove(key = "") /*~> Unit */ + e.remove(key = null) /*~> Unit */ + f.() /*~> Unit */ + f.remove(key = true) /*~> Unit */ + f.remove(key = "") /*~> Unit */ + f.remove(key = null) /*~> Unit */ + i.() /*~> Unit */ + i.remove(key = null) /*~> Unit */ + i.remove(key = true) /*~> Unit */ + i.remove(key = "") /*~> Unit */ + j.() /*~> Unit */ + j.remove(key = null) /*~> Unit */ + j.remove(key = true) /*~> Unit */ + j.remove(key = "") /*~> Unit */ + k.() /*~> Unit */ + k.remove(key = null) /*~> Unit */ + k.remove(key = true) /*~> Unit */ + k.remove(key = "") /*~> Unit */ + l.() /*~> Unit */ + l.remove(key = null) /*~> Unit */ + l.remove(key = true) /*~> Unit */ + l.remove(key = "") /*~> Unit */ + m.() /*~> Unit */ + m.remove(key = null) /*~> Unit */ + m.remove(key = true) /*~> Unit */ + m.remove(key = "") /*~> Unit */ + n.() /*~> Unit */ + n.remove(key = null) /*~> Unit */ + n.remove(key = true) /*~> Unit */ + n.remove(key = "") /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..9db27041b0d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,2781 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, Java1, SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.computeIfAbsent|6575055089244954734[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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /A.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /A.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashMap, Java1, 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // 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|6575055089244954734[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 + /* 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 + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): 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? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /B.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // 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 + /* 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? + /* 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){} + /* 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.Any?){}kotlin.Boolean? + // Public signature: /B.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): 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 JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /B.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + override fun remove(key: Boolean): Boolean? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* 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} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* 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} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* 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} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : HashMap, KotlinInterface, SortedMap { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /C.computeIfAbsent|6575055089244954734[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: C#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /C.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /C.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#firstKey(){}kotlin.Boolean? + // Public signature: /C.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: C#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /C.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: C#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /C.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.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: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#lastKey(){}kotlin.Boolean? + // Public signature: /C.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: C#putAll(kotlin.collections.Map){} + // Public signature: /C.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: C#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /C.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /C.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /C.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: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.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: C#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /C.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: C#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.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: C#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /C.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C{}entries + // Public signature: /C.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: C{}keys + // Public signature: /C.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /C.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}values + // Public signature: /C.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /C.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : HashMap, KotlinInterface, SortedMap { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#comparator(){}java.util.Comparator? + // Public signature: /D.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: D#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /D.computeIfAbsent|6575055089244954734[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: D#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /D.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /D.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#firstKey(){}kotlin.Boolean? + // Public signature: /D.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: D#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /D.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: D#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /D.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: D#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /D.getOrDefault|-2351196932378932637[0] + // Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Boolean, defaultValue: @EnhancedNullability Boolean): @EnhancedNullability Boolean + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.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: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#lastKey(){}kotlin.Boolean? + // Public signature: /D.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: D#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /D.put|-5368624398980599224[0] + // Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean? + + // CHECK: + // Mangled name: D#putAll(kotlin.collections.Map){} + // Public signature: /D.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: D#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /D.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /D.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: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.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: D#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /D.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: D#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.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: D#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /D.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Boolean){}kotlin.Boolean + // Public signature: /D.remove|-1371993909026213740[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean + override fun remove(key: Boolean): Boolean + + // CHECK: + // Mangled name: D{}entries + // Public signature: /D.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: D{}keys + // Public signature: /D.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /D.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}values + // Public signature: /D.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /D.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : KotlinInterface, SortedMap, MutableMap { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#comparator(){}java.util.Comparator? + // Public signature: /E.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: E#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /E.computeIfAbsent|6575055089244954734[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: E#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /E.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: E#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /E.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: E#firstKey(){}kotlin.Boolean? + // Public signature: /E.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: E#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /E.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: E#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.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: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#lastKey(){}kotlin.Boolean? + // Public signature: /E.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: E#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#putAll(kotlin.collections.Map){} + // Public signature: /E.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: E#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /E.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract /* fake */ override fun remove(key: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /E.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: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /E.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: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.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: E#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /E.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: E#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.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: E#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /E.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: E{}entries + // Public signature: /E.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /E.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: E{}keys + // Public signature: /E.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /E.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}values + // Public signature: /E.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /E.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : KotlinInterface, SortedMap, MutableMap { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#comparator(){}java.util.Comparator? + // Public signature: /F.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: F#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /F.computeIfAbsent|6575055089244954734[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: F#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /F.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: F#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /F.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: F#firstKey(){}kotlin.Boolean? + // Public signature: /F.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: F#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /F.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: F#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.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: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#lastKey(){}kotlin.Boolean? + // Public signature: /F.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: F#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#putAll(kotlin.collections.Map){} + // Public signature: /F.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: F#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /F.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: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /F.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: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.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: F#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /F.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: F#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.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: F#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /F.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /F.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + override fun remove(key: Any): Boolean + + // CHECK: + // Mangled name: F{}entries + // Public signature: /F.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /F.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: F{}keys + // Public signature: /F.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /F.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: F{}values + // Public signature: /F.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /F.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java2, Java1 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#comparator(){}java.util.Comparator? + // Public signature: /I.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: I#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /I.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: I#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /I.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: I#firstKey(){}kotlin.Boolean? + // Public signature: /I.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: I#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /I.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: I#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.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: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#lastKey(){}kotlin.Boolean? + // Public signature: /I.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: I#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#putAll(kotlin.collections.Map){} + // Public signature: /I.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: I#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /I.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /I.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: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /I.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: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.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: I#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /I.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: I#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.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: I#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /I.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: I{}entries + // Public signature: /I.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /I.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: I{}keys + // Public signature: /I.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /I.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: I{}values + // Public signature: /I.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /I.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java2, Java1 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#comparator(){}java.util.Comparator? + // Public signature: /J.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: J#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /J.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: J#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /J.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: J#firstKey(){}kotlin.Boolean? + // Public signature: /J.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: J#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /J.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: J#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.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: J#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.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: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#lastKey(){}kotlin.Boolean? + // Public signature: /J.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: J#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.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: J#putAll(kotlin.collections.Map){} + // Public signature: /J.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: J#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /J.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /J.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: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.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: J#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /J.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: J#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.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: J#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /J.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /J.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + override fun remove(key: Boolean?): Boolean? + + // CHECK: + // Mangled name: J{}entries + // Public signature: /J.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /J.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: J{}keys + // Public signature: /J.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /J.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: J{}values + // Public signature: /J.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /J.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +abstract class K : Java3, Java1 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#clear(){} + // Public signature: /K.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: K#clone(){}kotlin.Any? + // Public signature: /K.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: K#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /K.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: K#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /K.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: K#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /K.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: K#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /K.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: K#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#hashCode(){}kotlin.Int + // Public signature: /K.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: K#isEmpty(){}kotlin.Boolean + // Public signature: /K.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: K#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.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: K#putAll(kotlin.collections.Map){} + // Public signature: /K.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: K#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /K.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /K.remove|-5821443140623761137[0] + // Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override fun remove(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /K.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: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /K.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: K#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /K.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: K#toString(){}kotlin.String + // Public signature: /K.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: K{}entries + // Public signature: /K.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableSet> + // Public signature: /K.entries.|-8706083201241599756[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: K{}keys + // Public signature: /K.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableSet + // Public signature: /K.keys.|-2552716340993423855[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: K{}size + // Public signature: /K.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: K{}values + // Public signature: /K.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.collections.MutableCollection + // Public signature: /K.values.|4180852610867688478[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +abstract class L : Java3, Java1 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#clear(){} + // Public signature: /L.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: L#clone(){}kotlin.Any? + // Public signature: /L.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: L#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /L.containsKey|-8235831514988883911[0] + // Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: L#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /L.containsValue|-1908976232534565921[0] + // Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Boolean?): Boolean + + // CHECK JVM_IR: + // Mangled name: L#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /L.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: L#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /L.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: L#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /L.get|-7784602833684913808[0] + // Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean? + /* fake */ override operator fun get(key: Boolean?): Boolean? + + // CHECK JVM_IR: + // Mangled name: L#hashCode(){}kotlin.Int + // Public signature: /L.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: L#isEmpty(){}kotlin.Boolean + // Public signature: /L.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: L#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /L.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: L#putAll(kotlin.collections.Map){} + // Public signature: /L.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: L#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /L.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /L.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: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /L.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: L#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /L.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: L#toString(){}kotlin.String + // Public signature: /L.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: L#remove(kotlin.Boolean){}kotlin.Boolean + // Public signature: /L.remove|-1371993909026213740[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean + override fun remove(key: Boolean): Boolean + + // CHECK: + // Mangled name: L{}entries + // Public signature: /L.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableSet> + // Public signature: /L.entries.|-8706083201241599756[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: L{}keys + // Public signature: /L.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableSet + // Public signature: /L.keys.|-2552716340993423855[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: L{}size + // Public signature: /L.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: L{}values + // Public signature: /L.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.collections.MutableCollection + // Public signature: /L.values.|4180852610867688478[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +abstract class M : Java1, KotlinInterface3 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#clear(){} + // Public signature: /M.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: M#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.compute|-7729972313536917040[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: M#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /M.computeIfAbsent|6575055089244954734[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: M#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.computeIfPresent|-2979151786355445339[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: M#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /M.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: M#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /M.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: M#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /M.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: M#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#isEmpty(){}kotlin.Boolean + // Public signature: /M.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: M#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.merge|-5282806922204131463[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: M#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.put|-3189627949496447371[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: M#putAll(kotlin.collections.Map){} + // Public signature: /M.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: M#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.putIfAbsent|370123292273264251[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: M#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /M.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /M.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /M.replace|-8349928155045608191[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: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /M.replace|-4612021372079544464[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: M#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /M.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK: + // Mangled name: M{}entries + // Public signature: /M.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableSet> + // Public signature: /M.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: M{}keys + // Public signature: /M.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableSet + // Public signature: /M.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: M{}size + // Public signature: /M.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: M{}values + // Public signature: /M.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.collections.MutableCollection + // Public signature: /M.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +abstract class N : Java1, KotlinInterface3 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#clear(){} + // Public signature: /N.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: N#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.compute|-7729972313536917040[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: N#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /N.computeIfAbsent|6575055089244954734[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: N#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.computeIfPresent|-2979151786355445339[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: N#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /N.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: N#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /N.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: N#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /N.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: N#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: N#isEmpty(){}kotlin.Boolean + // Public signature: /N.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: N#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.merge|-5282806922204131463[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: N#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.put|-3189627949496447371[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: N#putAll(kotlin.collections.Map){} + // Public signature: /N.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: N#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.putIfAbsent|370123292273264251[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: N#remove(kotlin.Any?){}kotlin.Boolean? + // Public signature: /N.remove|-1183242348947635729[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Any?): Boolean? + + // CHECK JVM_IR: + // Mangled name: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /N.replace|-8349928155045608191[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: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /N.replace|-4612021372079544464[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: N#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /N.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: N#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /N.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + override fun remove(key: Boolean): Boolean? + + // CHECK: + // Mangled name: N{}entries + // Public signature: /N.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableSet> + // Public signature: /N.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: N{}keys + // Public signature: /N.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableSet + // Public signature: /N.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: N{}size + // Public signature: /N.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: N{}values + // Public signature: /N.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.collections.MutableCollection + // Public signature: /N.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + abstract fun remove(key: Any): Boolean + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : SortedMap { + // CHECK: + // Mangled name: KotlinInterface2#clear(){} + // Public signature: /KotlinInterface2.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#comparator(){}java.util.Comparator? + // Public signature: /KotlinInterface2.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#firstKey(){}kotlin.Boolean? + // Public signature: /KotlinInterface2.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: KotlinInterface2#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinInterface2.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: KotlinInterface2#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.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: KotlinInterface2#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface2.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#lastKey(){}kotlin.Boolean? + // Public signature: /KotlinInterface2.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#putAll(kotlin.collections.Map){} + // Public signature: /KotlinInterface2.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /KotlinInterface2.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: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface2.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: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface2.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: KotlinInterface2#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinInterface2.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: KotlinInterface2#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.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: KotlinInterface2#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /KotlinInterface2.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: KotlinInterface2{}entries + // Public signature: /KotlinInterface2.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinInterface2.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: KotlinInterface2{}keys + // Public signature: /KotlinInterface2.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /KotlinInterface2.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: KotlinInterface2{}size + // Public signature: /KotlinInterface2.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinInterface2{}values + // Public signature: /KotlinInterface2.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /KotlinInterface2.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: KotlinInterface3 +// Public signature: /KotlinInterface3|null[0] +interface KotlinInterface3 : MutableMap { + // CHECK: + // Mangled name: KotlinInterface3#clear(){} + // Public signature: /KotlinInterface3.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.compute|-7729972313536917040[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: KotlinInterface3#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability} + // Public signature: /KotlinInterface3.computeIfAbsent|6575055089244954734[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: KotlinInterface3#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.computeIfPresent|-2979151786355445339[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: KotlinInterface3#containsKey(kotlin.Boolean){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsKey|3773351703910613758[0] + // Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Boolean): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#containsValue(kotlin.Boolean){}kotlin.Boolean + // Public signature: /KotlinInterface3.containsValue|3370822655109102618[0] + // Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Boolean): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinInterface3.forEach|-5135755455445344771[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#get(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.get|3106204251392233722[0] + // Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override operator fun get(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface3.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.merge|-5282806922204131463[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: KotlinInterface3#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.put|-3189627949496447371[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: KotlinInterface3#putAll(kotlin.collections.Map){} + // Public signature: /KotlinInterface3.putAll|-7815820304463046641[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.putIfAbsent|370123292273264251[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: KotlinInterface3#remove(kotlin.Boolean){}kotlin.Boolean? + // Public signature: /KotlinInterface3.remove|642454127979935092[0] + // Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean? + abstract /* fake */ override fun remove(key: Boolean): Boolean? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /KotlinInterface3.replace|-8349928155045608191[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: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface3.replace|-4612021372079544464[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: KotlinInterface3#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinInterface3.replaceAll|-4705661050926347686[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK: + // Mangled name: KotlinInterface3{}entries + // Public signature: /KotlinInterface3.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableSet> + // Public signature: /KotlinInterface3.entries.|-8351444907328274428[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: KotlinInterface3{}keys + // Public signature: /KotlinInterface3.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableSet + // Public signature: /KotlinInterface3.keys.|6984112319401937053[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: KotlinInterface3{}size + // Public signature: /KotlinInterface3.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.Int + // Public signature: /KotlinInterface3.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinInterface3{}values + // Public signature: /KotlinInterface3.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#(){}kotlin.collections.MutableCollection + // Public signature: /KotlinInterface3.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;I;J;K;L;M;N){} +// Public signature: /test|-19437441252080184[0] +// Public signature debug description: test(A;B;C;D;E;F;I;J;K;L;M;N){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.ir.txt new file mode 100644 index 00000000000..006f5d14b9d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.ir.txt @@ -0,0 +1,472 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SortedMap?): V of java.util.SortedMap? declared in java.util.SortedMap + $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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:values visibility:public modality:OPEN [val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?>? + FIELD PROPERTY_BACKING_FIELD name:values type:kotlin.collections.MutableCollection visibility:private [final] + EXPRESSION_BODY + GET_VAR 'values: kotlin.collections.MutableCollection declared in .B.' type=kotlin.collections.MutableCollection origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableCollection + correspondingProperty: PROPERTY name:values visibility:public modality:OPEN [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:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableCollection declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:values type:kotlin.collections.MutableCollection visibility:private [final]' type=kotlin.collections.MutableCollection origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (values:kotlin.collections.MutableCollection, size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:values index:0 type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:size index:1 type:kotlin.Int + 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] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $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: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] @[EnhancedNullability] kotlin.Boolean?, p1:@[EnhancedNullability] kotlin.Boolean, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] {V of java.util.SortedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SortedMap? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Boolean + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, key:@[FlexibleNullability] kotlin.Boolean?, value:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Boolean? [fake_override] + 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] 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] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] 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:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SortedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SortedMap?): kotlin.Boolean declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Boolean?, @[FlexibleNullability] kotlin.Boolean?>, p0:@[EnhancedNullability] java.util.function.BiFunction) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SortedMap + $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 + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? [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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.collections.MutableCollection declared in .B' type=kotlin.collections.MutableCollection origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.kt.txt new file mode 100644 index 00000000000..79c242f088d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.kt.txt @@ -0,0 +1,51 @@ +abstract class A : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap { + override val values: MutableCollection + field = values + override get + + override val size: Int + field = size + override get + + constructor(values: MutableCollection, size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(key: Boolean?): Boolean? { + return true + } + + override fun remove(key: Boolean?): Boolean? { + return true + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..49e79bc1546 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|7599268606377074279[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|483538289598228229[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|-410492473446277716[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap { + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection + // Public signature: /B.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + override get + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.collections.MutableCollection;kotlin.Int){} + // Public signature: /B.|-8695680958273415094[0] + // Public signature debug description: (kotlin.collections.MutableCollection;kotlin.Int){} + constructor(values: MutableCollection, size: Int) /* 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#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#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 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? + override operator fun get(key: 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? + override fun remove(key: Boolean?): Boolean? + + // 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: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.ir.txt new file mode 100644 index 00000000000..f20fc5a0069 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.ir.txt @@ -0,0 +1,472 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A 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 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:values visibility:public modality:OPEN [val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SortedMap?> + FIELD PROPERTY_BACKING_FIELD name:values type:kotlin.collections.MutableCollection visibility:private [final] + EXPRESSION_BODY + GET_VAR 'values: kotlin.collections.MutableCollection declared in .B.' type=kotlin.collections.MutableCollection origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableCollection + correspondingProperty: PROPERTY name:values visibility:public modality:OPEN [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:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableCollection declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:values type:kotlin.collections.MutableCollection visibility:private [final]' type=kotlin.collections.MutableCollection origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (values:kotlin.collections.MutableCollection, size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:values index:0 type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:size index:1 type:kotlin.Int + 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: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: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 + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? [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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Boolean?) returnType:kotlin.Boolean? + 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:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Boolean? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Boolean?): kotlin.Boolean? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.collections.MutableCollection declared in .B' type=kotlin.collections.MutableCollection origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: kotlin.Boolean?): kotlin.Boolean? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt new file mode 100644 index 00000000000..5d38b88849d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt @@ -0,0 +1,40 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: 1.kt +import java.util.SortedMap + +abstract class A : SortedMap + +abstract class B(override val values: MutableCollection, override val size: Int) : SortedMap { + override fun remove(key: Boolean?): Boolean? { + return true + } + + override fun get(key: Boolean?): Boolean? { + return true + } +} + + +fun test(a: A, b: B) { + a.size + a[true] = true + a[null] = null + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.values + b[false] = false + b[null] = null + b.remove(null) + b.remove(true) + b.get(null) + b.get(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt.txt new file mode 100644 index 00000000000..79c242f088d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt.txt @@ -0,0 +1,51 @@ +abstract class A : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedMap { + override val values: MutableCollection + field = values + override get + + override val size: Int + field = size + override get + + constructor(values: MutableCollection, size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(key: Boolean?): Boolean? { + return true + } + + override fun remove(key: Boolean?): Boolean? { + return true + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.sig.kt.txt new file mode 100644 index 00000000000..20a409520f8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|5589924097229555022[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#containsKey(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#containsValue(kotlin.Boolean?){}kotlin.Boolean + // Public signature: /A.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: A#firstKey(){}kotlin.Boolean? + // Public signature: /A.firstKey|2260152268809084632[0] + // Public signature debug description: firstKey(){}kotlin.Boolean? + abstract /* fake */ override fun firstKey(): Boolean? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.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: A#get(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#headMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Boolean? + // Public signature: /A.lastKey|-5878782178389103210[0] + // Public signature debug description: lastKey(){}kotlin.Boolean? + abstract /* fake */ override fun lastKey(): Boolean? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-226841264386034617[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#remove(kotlin.Boolean?){}kotlin.Boolean? + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability} + // Public signature: /A.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: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.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: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.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: A#tailMap(kotlin.Boolean?){}java.util.SortedMap? + // Public signature: /A.tailMap|-6557184974773795520[0] + // Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|5073510598625478346[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3437886487554544497[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|2965564880775457094[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedMap { + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection + // Public signature: /B.values.|1639693901235765360[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + override get + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.collections.MutableCollection;kotlin.Int){} + // Public signature: /B.|-8695680958273415094[0] + // Public signature debug description: (kotlin.collections.MutableCollection;kotlin.Int){} + constructor(values: MutableCollection, size: Int) /* 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#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#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 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? + override operator fun get(key: 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? + override fun remove(key: Boolean?): Boolean? + + // 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: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.ir.txt new file mode 100644 index 00000000000..de9966348f2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.ir.txt @@ -0,0 +1,470 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 .Java1 + $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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [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] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>? [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] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?, value:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + 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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [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] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>? [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] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.kt.txt new file mode 100644 index 00000000000..a1cef23cb4d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.kt.txt @@ -0,0 +1,48 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: Any?, value: Any?): Any? { + return null + } + + override fun remove(key: Any?): Any? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = null, value = null) + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..5bc8f2b32b2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Any? + // Public signature: /A.firstKey|6971313306148394669[0] + // Public signature debug description: firstKey(){}kotlin.Any? + abstract /* fake */ override fun firstKey(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.headMap|-1069238681576481113[0] + // Public signature debug description: headMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Any? + // Public signature: /A.lastKey|2390978337435867124[0] + // Public signature debug description: lastKey(){}kotlin.Any? + abstract /* fake */ override fun lastKey(): Any? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /A.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.subMap|2059604533776731746[0] + // Public signature debug description: subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Any?, p1: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.tailMap|-3204450062971264405[0] + // Public signature debug description: tailMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Any?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|-6147764995888068019[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|-3893665952060865409[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|-2463185466999264769[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* 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|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}kotlin.Any? + // Public signature: /B.firstKey|6971313306148394669[0] + // Public signature debug description: firstKey(){}kotlin.Any? + abstract /* fake */ override fun firstKey(): Any? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3908022801186974793[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.Any?){}kotlin.Any? + // Public signature: /B.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#headMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.headMap|-1069238681576481113[0] + // Public signature debug description: headMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Any?): 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.Any? + // Public signature: /B.lastKey|2390978337435867124[0] + // Public signature debug description: lastKey(){}kotlin.Any? + abstract /* fake */ override fun lastKey(): Any? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|4263782699476704663[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.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-1134150745427929608[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.Any?;kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.subMap|2059604533776731746[0] + // Public signature debug description: subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Any?, p1: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.tailMap|-3204450062971264405[0] + // Public signature debug description: tailMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + override fun put(key: Any?, value: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /B.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + override fun remove(key: Any?): Any? + + // 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.|-6147764995888068019[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.|-3893665952060865409[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + abstract /* fake */ override get(): MutableSet? + + // 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.|-2463185466999264769[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.ir.txt new file mode 100644 index 00000000000..3f71f4d01e6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.ir.txt @@ -0,0 +1,470 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 .Java1 + $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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> [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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?, value:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + 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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> [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] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt new file mode 100644 index 00000000000..b0b8584e75d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt @@ -0,0 +1,43 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: Java1.java +import java.util.SortedMap; + +abstract public class Java1 implements SortedMap {} + +// FILE: 1.kt +abstract class A : Java1() + +abstract class B(override val size: Int) : Java1() { + override fun put(key: Any?, value: Any?): Any? { + return null + } + + override fun remove(key: Any?): Any? { + return null + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt.txt new file mode 100644 index 00000000000..a1cef23cb4d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt.txt @@ -0,0 +1,48 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: Any?, value: Any?): Any? { + return null + } + + override fun remove(key: Any?): Any? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = null, value = null) + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..5f3f7ad1603 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}kotlin.Any? + // Public signature: /A.firstKey|6971313306148394669[0] + // Public signature debug description: firstKey(){}kotlin.Any? + abstract /* fake */ override fun firstKey(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#headMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.headMap|-1069238681576481113[0] + // Public signature debug description: headMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}kotlin.Any? + // Public signature: /A.lastKey|2390978337435867124[0] + // Public signature debug description: lastKey(){}kotlin.Any? + abstract /* fake */ override fun lastKey(): Any? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /A.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.subMap|2059604533776731746[0] + // Public signature debug description: subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Any?, p1: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /A.tailMap|-3204450062971264405[0] + // Public signature debug description: tailMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Any?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|4942816281630761189[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|8293422277479281384[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|-2450585706206522502[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* 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|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}kotlin.Any? + // Public signature: /B.firstKey|6971313306148394669[0] + // Public signature debug description: firstKey(){}kotlin.Any? + abstract /* fake */ override fun firstKey(): Any? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3908022801186974793[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.Any?){}kotlin.Any? + // Public signature: /B.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#headMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.headMap|-1069238681576481113[0] + // Public signature debug description: headMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun headMap(p0: Any?): 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.Any? + // Public signature: /B.lastKey|2390978337435867124[0] + // Public signature debug description: lastKey(){}kotlin.Any? + abstract /* fake */ override fun lastKey(): Any? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|4263782699476704663[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.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-1134150745427929608[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.Any?;kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.subMap|2059604533776731746[0] + // Public signature debug description: subMap(kotlin.Any?;kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun subMap(p0: Any?, p1: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(kotlin.Any?){}java.util.SortedMap? + // Public signature: /B.tailMap|-3204450062971264405[0] + // Public signature debug description: tailMap(kotlin.Any?){}java.util.SortedMap? + abstract /* fake */ override fun tailMap(p0: Any?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + override fun put(key: Any?, value: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /B.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + override fun remove(key: Any?): Any? + + // 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.|4942816281630761189[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.|8293422277479281384[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // 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.|-2450585706206522502[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.ir.txt new file mode 100644 index 00000000000..78abe92778b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.ir.txt @@ -0,0 +1,419 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet> visibility:private [final] + EXPRESSION_BODY + GET_VAR 'entries: kotlin.collections.MutableSet> declared in .B.' type=kotlin.collections.MutableSet> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableSet> + correspondingProperty: PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableSet> declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet> visibility:private [final]' type=kotlin.collections.MutableSet> origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (entries:kotlin.collections.MutableSet>) returnType:.B [primary] + VALUE_PARAMETER name:entries index:0 type:kotlin.collections.MutableSet> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?, value:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.kt.txt new file mode 100644 index 00000000000..568520d504a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.fir.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val entries: MutableSet> + field = entries + override get + + constructor(entries: MutableSet>) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: Any?, value: Any?): Any? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = null, value = null) + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.ir.txt new file mode 100644 index 00000000000..278f82fcdfb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.ir.txt @@ -0,0 +1,419 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet> visibility:private [final] + EXPRESSION_BODY + GET_VAR 'entries: kotlin.collections.MutableSet> declared in .B.' type=kotlin.collections.MutableSet> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableSet> + correspondingProperty: PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableSet> declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet> visibility:private [final]' type=kotlin.collections.MutableSet> origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (entries:kotlin.collections.MutableSet>) returnType:.B [primary] + VALUE_PARAMETER name:entries index:0 type:kotlin.collections.MutableSet> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:kotlin.Any?, value:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .A' type=kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: kotlin.Any?, value: kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Any? + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .B' type=kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt new file mode 100644 index 00000000000..be55f02e42f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt @@ -0,0 +1,37 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import kotlin.collections.AbstractMutableMap; + +abstract public class Java1 extends AbstractMutableMap{} + +// FILE: 1.kt +abstract class A : Java1() + +class B(override val entries: MutableSet>) : Java1() { + override fun put(key: Any?, value: Any?): Any? { + return null + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt.txt new file mode 100644 index 00000000000..568520d504a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val entries: MutableSet> + field = entries + override get + + constructor(entries: MutableSet>) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: Any?, value: Any?): Any? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = null, value = null) + b.set<@FlexibleNullability Any?, @FlexibleNullability Any?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.sig.kt.txt new file mode 100644 index 00000000000..def40b3fd0b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.sig.kt.txt @@ -0,0 +1,369 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any? + // Public signature: /A.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /A.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet> + // Public signature: /A.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet + // Public signature: /A.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection + // Public signature: /A.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet> + // Public signature: /B.entries.|5727486912468775815[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + override get + + // CHECK: + // Mangled name: B#(kotlin.collections.MutableSet>){} + // Public signature: /B.|-6370424601910327205[0] + // Public signature debug description: (kotlin.collections.MutableSet>){} + constructor(entries: MutableSet>) /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any? + // Public signature: /B.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: B#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3908022801186974793[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.Any?){}kotlin.Any? + // Public signature: /B.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /B.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-1134150745427929608[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#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet + // Public signature: /B.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection + // Public signature: /B.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..b3934b16874 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.ir.txt @@ -0,0 +1,473 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>?>? [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + 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:.Java1.A>) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B.B> declared in .B.' type=.B.B> origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B.B> [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $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<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:kotlin.Boolean + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B, value: T of .B): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>?>? [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..0d11a33f276 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.kt.txt @@ -0,0 +1,48 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T, value: T): Boolean { + return true + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..f0e97c07f04 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,399 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /A.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /A.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): 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(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}1:0? + // Public signature: /B.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0? + // Public signature: /B.put|1027165984302173409[0] + // Public signature debug description: put(1:0;1:0){}1:0? + override fun put(key: T, value: T): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0;1:0){}kotlin.Boolean + // Public signature: /B.remove|-5464269900054957095[0] + // Public signature debug description: remove(1:0;1:0){}kotlin.Boolean + override fun remove(key: T, value: T): Boolean + + // 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.|2209330178150314733[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<1:0?>? + // Public signature: /B.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // 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<1:0?>? + // Public signature: /B.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.ir.txt new file mode 100644 index 00000000000..45a61a4ede8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.ir.txt @@ -0,0 +1,473 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>> [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + 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] T of .A?, @[FlexibleNullability] T of .A?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B.B> declared in .B.' type=.B.B> origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B.B> [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $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<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:remove visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:kotlin.Boolean + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .B, value: T of .B): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + 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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>> [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt new file mode 100644 index 00000000000..86ce05de882 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt @@ -0,0 +1,43 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: Java1.java +import java.util.SortedMap; + +abstract public class Java1 implements SortedMap {} + +// FILE: 1.kt +abstract class A : Java1() + +abstract class B(override val size: Int) : Java1() { + override fun remove(key: T, value: T): Boolean { + return true + } + + override fun put(key: T, value: T): T? { + return null!! + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt.txt new file mode 100644 index 00000000000..166cad469e4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt.txt @@ -0,0 +1,48 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +abstract class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun remove(key: T, value: T): Boolean { + return true + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set(key = null, value = null) + b.set(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..86716a24876 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.sig.kt.txt @@ -0,0 +1,399 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /A.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /A.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): 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(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}1:0? + // Public signature: /B.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0? + // Public signature: /B.put|1027165984302173409[0] + // Public signature debug description: put(1:0;1:0){}1:0? + override fun put(key: T, value: T): T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0;1:0){}kotlin.Boolean + // Public signature: /B.remove|-5464269900054957095[0] + // Public signature debug description: remove(1:0;1:0){}kotlin.Boolean + override fun remove(key: T, value: T): Boolean + + // 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.|-3651740414273962157[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<1:0?>{EnhancedNullability} + // Public signature: /B.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // 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<1:0?>{EnhancedNullability} + // Public signature: /B.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..c322e38daa9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.ir.txt @@ -0,0 +1,423 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:kotlin.collections.MutableSet.A?, @[FlexibleNullability] T of .A?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.A>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract entries: kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> + FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet.B, T of .B>> visibility:private [final] + EXPRESSION_BODY + GET_VAR 'entries: kotlin.collections.MutableSet.B, T of .B>> declared in .B.' type=kotlin.collections.MutableSet.B, T of .B>> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.collections.MutableSet.B, T of .B>> + correspondingProperty: PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableSet.B, T of .B>> declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet.B, T of .B>> visibility:private [final]' type=kotlin.collections.MutableSet.B, T of .B>> origin=null + receiver: GET_VAR ': .B.B> declared in .B.' type=.B.B> origin=null + CONSTRUCTOR visibility:public <> (entries:kotlin.collections.MutableSet.B, T of .B>>) returnType:.B.B> [primary] + VALUE_PARAMETER name:entries index:0 type:kotlin.collections.MutableSet.B, T of .B>> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1.B>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..3deff0fe63c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.fir.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val entries: MutableSet> + field = entries + override get + + constructor(entries: MutableSet>) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.ir.txt new file mode 100644 index 00000000000..f78234ca608 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.ir.txt @@ -0,0 +1,423 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableSet.A?, @[FlexibleNullability] T of .A?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract entries: kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> + FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet.B, T of .B>> visibility:private [final] + EXPRESSION_BODY + GET_VAR 'entries: kotlin.collections.MutableSet.B, T of .B>> declared in .B.' type=kotlin.collections.MutableSet.B, T of .B>> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.collections.MutableSet.B, T of .B>> + correspondingProperty: PROPERTY name:entries visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.MutableSet.Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.MutableSet.B, T of .B>> declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:entries type:kotlin.collections.MutableSet.B, T of .B>> visibility:private [final]' type=kotlin.collections.MutableSet.B, T of .B>> origin=null + receiver: GET_VAR ': .B.B> declared in .B.' type=.B.B> origin=null + CONSTRUCTOR visibility:public <> (entries:kotlin.collections.MutableSet.B, T of .B>>) returnType:.B.B> [primary] + VALUE_PARAMETER name:entries index:0 type:kotlin.collections.MutableSet.B, T of .B>> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override,operator] + overridden: + public open fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:put visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B, value:T of .B) returnType:T of .B? + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B + VALUE_PARAMETER name:value index:1 type:T of .B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: T of .B, value: T of .B): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt new file mode 100644 index 00000000000..40eeabb85fd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt @@ -0,0 +1,37 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import kotlin.collections.AbstractMutableMap; + +abstract public class Java1 extends AbstractMutableMap{} + +// FILE: 1.kt +abstract class A : Java1() + +class B(override val entries: MutableSet>) : Java1() { + override fun put(key: T, value: T): T? { + return null + } +} + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt.txt new file mode 100644 index 00000000000..e18ef53873a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class B : Java1 { + override val entries: MutableSet> + field = entries + override get + + constructor(entries: MutableSet>) /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun put(key: T, value: T): T? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set(key = null, value = null) + b.set(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..55aa5f0a4a2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.sig.kt.txt @@ -0,0 +1,369 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any? + // Public signature: /A.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet> + // Public signature: /A.entries.|6393847646099484103[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?> + // Public signature: /A.keys.|1702252763849955641[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?> + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?> + // Public signature: /A.values.|-3321240883117783986[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?> + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet> + // Public signature: /B.entries.|-7969187211250943055[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + override get + + // CHECK: + // Mangled name: B#(kotlin.collections.MutableSet>){} + // Public signature: /B.|7773007696774638621[0] + // Public signature debug description: (kotlin.collections.MutableSet>){} + constructor(entries: MutableSet>) /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any? + // Public signature: /B.clone|-7083896195458302612[0] + // Public signature debug description: clone(){}kotlin.Any? + protected_and_package /* fake */ override fun clone(): Any? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}1:0? + // Public signature: /B.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#put(1:0;1:0){}1:0? + // Public signature: /B.put|1027165984302173409[0] + // Public signature debug description: put(1:0;1:0){}1:0? + override fun put(key: T, value: T): T? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet<1:0?> + // Public signature: /B.keys.|1702252763849955641[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?> + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection<1:0?> + // Public signature: /B.values.|-3321240883117783986[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?> + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.ir.txt new file mode 100644 index 00000000000..f22d65cab57 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.ir.txt @@ -0,0 +1,672 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .A?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[FlexibleNullability] @[EnhancedNullability] T of .A?, out @[FlexibleNullability] @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>?>? [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + 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:.Java1.A>) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.A> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $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<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .B?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[FlexibleNullability] @[EnhancedNullability] T of .B?, out @[FlexibleNullability] @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B?) returnType:T of .B? [operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: T of .B?): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:isEmpty visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Boolean + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isEmpty (): kotlin.Boolean declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>?>? [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?>? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?>? [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] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.B> + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.KotlinClass, T of .KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.KotlinClass, T of .KotlinClass>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] java.util.Comparator.KotlinClass?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] T of .KotlinClass?, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] T of .KotlinClass?, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.Function.KotlinClass?, out @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.KotlinClass?, out @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, value:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [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.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.KotlinClass?, in @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.KotlinClass?, in @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, defaultValue:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [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.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[EnhancedNullability] {T of .KotlinClass & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass & Any}, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .KotlinClass & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass & Any}, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, value:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, from:kotlin.collections.Map.KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, value:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, out @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?, out @[FlexibleNullability] @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?, p1:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>?>? [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.KotlinClass, T of .KotlinClass> + 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.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + 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.KotlinClass, T of .KotlinClass>) 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.KotlinClass, T of .KotlinClass> + 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.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .B?, value: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .B?, value: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isEmpty (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.kt.txt new file mode 100644 index 00000000000..5c924dff678 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.kt.txt @@ -0,0 +1,60 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(key: T?): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun isEmpty(): Boolean { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class KotlinClass : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + b.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.isEmpty() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..9bec91f8301 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.fir.sig.kt.txt @@ -0,0 +1,587 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /A.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /A.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0?;1:0?){}1:0? + // Public signature: /B.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}1:0? + // Public signature: /B.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#get(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + override fun isEmpty(): Boolean + + // 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.|2209330178150314733[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<1:0?>? + // Public signature: /B.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // 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<1:0?>? + // Public signature: /B.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +abstract class KotlinClass : SortedMap { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#comparator(){}java.util.Comparator? + // Public signature: /KotlinClass.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsKey(1:0?){}kotlin.Boolean + // Public signature: /KotlinClass.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsValue(1:0?){}kotlin.Boolean + // Public signature: /KotlinClass.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#firstKey(){}1:0? + // Public signature: /KotlinClass.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinClass.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#get(1:0?){}1:0? + // Public signature: /KotlinClass.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastKey(){}1:0? + // Public signature: /KotlinClass.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#put(1:0?;1:0?){}1:0? + // Public signature: /KotlinClass.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: KotlinClass#putAll(kotlin.collections.Map){} + // Public signature: /KotlinClass.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(1:0?){}1:0? + // Public signature: /KotlinClass.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: KotlinClass{}entries + // Public signature: /KotlinClass.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet?>? + // Public signature: /KotlinClass.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: KotlinClass{}keys + // Public signature: /KotlinClass.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /KotlinClass.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinClass{}values + // Public signature: /KotlinClass.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /KotlinClass.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.ir.txt new file mode 100644 index 00000000000..3ead886c252 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.ir.txt @@ -0,0 +1,672 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] java.util.Comparator.A?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] T of .A?, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .A? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, defaultValue:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] T of .A? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[FlexibleNullability] T of .A? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] {T of .A & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?>) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .A & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.A & Any}, in @[EnhancedNullability] {T of .A & Any}, out @[EnhancedNullability] T of .A?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, from:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.A?, @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?) returnType:T of .A? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, key:@[FlexibleNullability] T of .A?, value:@[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:@[EnhancedNullability] T of .A? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .A?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .A?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.A?, in @[EnhancedNullability] @[FlexibleNullability] T of .A?, out @[EnhancedNullability] @[FlexibleNullability] T of .A?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?, p1:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .A? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>, p0:@[FlexibleNullability] T of .A?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .A? + 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 .Java1 + $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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>> [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + 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] T of .A?, @[FlexibleNullability] T of .A?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .A?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .A?, @[FlexibleNullability] T of .A?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] java.util.Comparator.B?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator.Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] T of .Java1?, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] T of .B?, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .B? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.Function.Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): @[EnhancedNullability] @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $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<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun firstKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, defaultValue:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] T of .B? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] T of .Java1?, defaultValue: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun headMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun lastKey (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] {T of .B & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?>) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] {T of .Java1 & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction.Java1 & Any}, in @[EnhancedNullability] {T of .Java1 & Any}, out @[EnhancedNullability] T of .Java1?>): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .B & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.B & Any}, in @[EnhancedNullability] {T of .B & Any}, out @[EnhancedNullability] T of .B?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, from:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map.Java1?, @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.B?, @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?) returnType:T of .B? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, key:@[FlexibleNullability] T of .B?, value:@[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] T of .Java1?, value: @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:@[EnhancedNullability] T of .B? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): @[EnhancedNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .B?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .B?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p1: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, p2: @[EnhancedNullability] @[FlexibleNullability] T of .Java1?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction.Java1?, in @[EnhancedNullability] @[FlexibleNullability] T of .Java1?, out @[EnhancedNullability] @[FlexibleNullability] T of .Java1?>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.B?, in @[EnhancedNullability] @[FlexibleNullability] T of .B?, out @[EnhancedNullability] @[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?, p1:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun subMap (p0: @[FlexibleNullability] T of .Java1?, p1: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .B? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>, p0:@[FlexibleNullability] T of .B?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>? [fake_override] + overridden: + public abstract fun tailMap (p0: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .Java1?, @[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B.B>, key:T of .B?) returnType:T of .B? [operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] T of .Java1?): T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:key index:0 type:T of .B? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: T of .B?): T of .B? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:isEmpty visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Boolean + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isEmpty (): kotlin.Boolean declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>> [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] T of .Java1?, @[FlexibleNullability] T of .Java1?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .B?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .Java1?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SortedMap<@[FlexibleNullability] T of .B?, @[FlexibleNullability] T of .B?> + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B.B>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.KotlinClass, T of .KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.KotlinClass, T of .KotlinClass>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] java.util.Comparator.KotlinClass?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] T of .KotlinClass?, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] T of .KotlinClass?, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.Function.KotlinClass?, out @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.KotlinClass?, out @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, value:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [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.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.KotlinClass?, in @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.KotlinClass?, in @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, defaultValue:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [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.KotlinClass, T of .KotlinClass> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] {T of .KotlinClass & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass & Any}, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?>) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .KotlinClass & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass & Any}, in @[EnhancedNullability] {T of .KotlinClass & Any}, out @[EnhancedNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, value:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, from:kotlin.collections.Map.KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?) returnType:T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, key:@[FlexibleNullability] T of .KotlinClass?, value:@[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?) returnType:@[EnhancedNullability] T of .KotlinClass? [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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>, p0:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, out @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.KotlinClass?, in @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?, out @[EnhancedNullability] @[FlexibleNullability] T of .KotlinClass?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?, p1:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .KotlinClass? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.KotlinClass, T of .KotlinClass>, p0:@[FlexibleNullability] T of .KotlinClass?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>? [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.KotlinClass, T of .KotlinClass> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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.KotlinClass, T of .KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>> [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.KotlinClass, T of .KotlinClass> + 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.KotlinClass, T of .KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .KotlinClass?> [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.KotlinClass, T of .KotlinClass> + 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?>) 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] T of .KotlinClass?, @[FlexibleNullability] T of .KotlinClass?> + 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.KotlinClass, T of .KotlinClass>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .KotlinClass?> [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.KotlinClass, T of .KotlinClass> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .A?, value: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .A?): T of .A? declared in .A' type=kotlin.Boolean? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .B?, value: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: @[FlexibleNullability] T of .B?, value: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : kotlin.Boolean? + : kotlin.Boolean? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + value: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .B?): T of .B? declared in .B' type=kotlin.Boolean? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isEmpty (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt new file mode 100644 index 00000000000..c296d59e4c7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt @@ -0,0 +1,50 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: Java1.java +abstract public class Java1 extends KotlinClass {} + +// FILE: 1.kt +import java.util.SortedMap + +abstract class A : Java1() + +abstract class B : Java1() { + override val size: Int + get() = 5 + + override fun get(key: T?): T? { + return null!! + } + + override fun isEmpty(): Boolean { + return null!! + } +} + +abstract class KotlinClass : SortedMap + +fun test(a: A, b: B) { + a.size + a[true] = true + a.put(null, null) + a.get(true) + a.get(null) + a.remove(null) + a.remove(true) + a.isNotEmpty() + + b.size + b.put(false, false) + b.put(null, null) + b[null] = null + b[true] = true + b.get(null) + b.get(true) + b.remove(null) + b.remove(true) + b.isEmpty() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt.txt new file mode 100644 index 00000000000..6c50bd036c4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt.txt @@ -0,0 +1,60 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override operator fun get(key: T?): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun isEmpty(): Boolean { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class KotlinClass : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true) + a.put(key = null, value = null) /*~> Unit */ + a.get(key = true) /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.remove(key = true) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>() /*~> Unit */ + b.() /*~> Unit */ + b.put(key = false, value = false) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set(key = null, value = null) + b.set(key = true, value = true) + b.get(key = null) /*~> Unit */ + b.get(key = true) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.remove(key = true) /*~> Unit */ + b.isEmpty() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.sig.kt.txt new file mode 100644 index 00000000000..6cc20775772 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.sig.kt.txt @@ -0,0 +1,587 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(1:0?){}kotlin.Boolean + // Public signature: /A.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(1:0?){}kotlin.Boolean + // Public signature: /A.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstKey(){}1:0? + // Public signature: /A.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(1:0?){}1:0? + // Public signature: /A.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastKey(){}1:0? + // Public signature: /A.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: A#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#put(1:0?;1:0?){}1:0? + // Public signature: /A.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#remove(1:0?){}1:0? + // Public signature: /A.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /A.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: A#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: A#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /A.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /A.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /A.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // 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|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(1:0?){}kotlin.Boolean + // Public signature: /B.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(1:0?){}kotlin.Boolean + // Public signature: /B.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstKey(){}1:0? + // Public signature: /B.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|8271883452393484682[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#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#lastKey(){}1:0? + // Public signature: /B.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: B#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#put(1:0?;1:0?){}1:0? + // Public signature: /B.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#remove(1:0?){}1:0? + // Public signature: /B.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /B.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: B#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-2102697218249204468[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(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /B.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: B#get(1:0?){}1:0? + // Public signature: /B.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + override fun isEmpty(): Boolean + + // 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.|-3651740414273962157[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<1:0?>{EnhancedNullability} + // Public signature: /B.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // 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<1:0?>{EnhancedNullability} + // Public signature: /B.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +abstract class KotlinClass : SortedMap { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#comparator(){}java.util.Comparator? + // Public signature: /KotlinClass.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsKey(1:0?){}kotlin.Boolean + // Public signature: /KotlinClass.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsValue(1:0?){}kotlin.Boolean + // Public signature: /KotlinClass.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#firstKey(){}1:0? + // Public signature: /KotlinClass.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinClass.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#get(1:0?){}1:0? + // Public signature: /KotlinClass.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#lastKey(){}1:0? + // Public signature: /KotlinClass.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#put(1:0?;1:0?){}1:0? + // Public signature: /KotlinClass.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: KotlinClass#putAll(kotlin.collections.Map){} + // Public signature: /KotlinClass.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(1:0?){}1:0? + // Public signature: /KotlinClass.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /KotlinClass.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: KotlinClass#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinClass.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /KotlinClass.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: KotlinClass{}entries + // Public signature: /KotlinClass.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /KotlinClass.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: KotlinClass{}keys + // Public signature: /KotlinClass.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /KotlinClass.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinClass{}values + // Public signature: /KotlinClass.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /KotlinClass.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|7309038897648133437[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.ir.txt new file mode 100644 index 00000000000..29a19c75e4f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.ir.txt @@ -0,0 +1,462 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.C, T of .C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.C, T of .C>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>) returnType:@[FlexibleNullability] java.util.Comparator.C?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.C, T of .C> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] T of .C?, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] T of .C?, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.Function.C?, out @[FlexibleNullability] @[EnhancedNullability] T of .C?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.C?, out @[FlexibleNullability] @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, value:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>) returnType:@[FlexibleNullability] T of .C? [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.C, T of .C> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.C?, in @[FlexibleNullability] @[EnhancedNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.C?, in @[FlexibleNullability] @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, defaultValue:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>, p0:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>) returnType:@[FlexibleNullability] T of .C? [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.C, T of .C> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[EnhancedNullability] {T of .C & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.C & Any}, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .C & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.C & Any}, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, value:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, from:kotlin.collections.Map.C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .C?) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, value:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .C?) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .C?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .C? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[FlexibleNullability] @[EnhancedNullability] T of .C?, out @[FlexibleNullability] @[EnhancedNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[FlexibleNullability] @[EnhancedNullability] T of .C?, out @[FlexibleNullability] @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>, p0:@[FlexibleNullability] T of .C?, p1:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>, p0:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>?>? [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.C, T of .C> + 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.C, T of .C>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .C?>? [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.C, T of .C> + 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.C, T of .C>) 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.C, T of .C> + 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.C, T of .C>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .C?>? [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.C, T of .C> + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.D, T of .D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .D.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.D.D> [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.D, T of .D>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>) returnType:@[FlexibleNullability] java.util.Comparator.D?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.D, T of .D> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] T of .D?, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] T of .D?, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.Function.D?, out @[FlexibleNullability] @[EnhancedNullability] T of .D?>) returnType:@[FlexibleNullability] @[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.D?, out @[FlexibleNullability] @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, value:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .D? + 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.D, T of .D>) returnType:@[FlexibleNullability] T of .D? [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.D, T of .D> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.D?, in @[FlexibleNullability] @[EnhancedNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.D?, in @[FlexibleNullability] @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?) returnType:T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, defaultValue:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .D? + 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.D, T of .D>, p0:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>) returnType:@[FlexibleNullability] T of .D? [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.D, T of .D> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[EnhancedNullability] {T of .D & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.D & Any}, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .D & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.D & Any}, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, value:@[FlexibleNullability] T of .D?) returnType:T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, from:kotlin.collections.Map.D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .D?) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, value:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .D?) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p1:@[FlexibleNullability] @[EnhancedNullability] T of .D?, p2:@[FlexibleNullability] @[EnhancedNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] T of .D? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[FlexibleNullability] @[EnhancedNullability] T of .D?, out @[FlexibleNullability] @[EnhancedNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[FlexibleNullability] @[EnhancedNullability] T of .D?, out @[FlexibleNullability] @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>, p0:@[FlexibleNullability] T of .D?, p1:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>, p0:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + 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 + FUN name:remove visibility:public modality:OPEN <> ($this:.D.D>, key:T of .D) returnType:T of .D? + 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:.D.D> + VALUE_PARAMETER name:key index:0 type:T of .D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .D): T of .D? declared in .D' + CONST Null type=kotlin.Nothing? value=null + 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.D, T of .D>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>?>? [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.D, T of .D> + 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.D, T of .D>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .D?>? [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.D, T of .D> + 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.D, T of .D>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .D?>? [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.D, T of .D> + FUN name:test visibility:public modality:FINAL <> (c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:.C + VALUE_PARAMETER name:d index:1 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (key: K of kotlin.collections.remove): V of kotlin.collections.remove? declared in kotlin.collections' type=kotlin.Boolean? origin=null + : kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .D): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .D?): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .D?): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.kt.txt new file mode 100644 index 00000000000..4d1d719ed11 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.kt.txt @@ -0,0 +1,42 @@ +abstract class C : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : SortedMap { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: T): T? { + return null + } + +} + +fun test(c: C, d: D) { + c.() /*~> Unit */ + c.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + c.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + c.remove(key = null) /*~> Unit */ + c.remove(key = true) /*~> Unit */ + c.get(key = null) /*~> Unit */ + c.get(key = true) /*~> Unit */ + d.() /*~> Unit */ + d.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + d.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + d.remove(key = null) /*~> Unit */ + d.remove(key = true) /*~> Unit */ + d.get(key = null) /*~> Unit */ + d.get(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..c9f80f31360 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : SortedMap { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#containsKey(1:0?){}kotlin.Boolean + // Public signature: /C.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsValue(1:0?){}kotlin.Boolean + // Public signature: /C.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#firstKey(){}1:0? + // Public signature: /C.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: C#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /C.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(1:0?){}1:0? + // Public signature: /C.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: C#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#lastKey(){}1:0? + // Public signature: /C.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: C#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#put(1:0?;1:0?){}1:0? + // Public signature: /C.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: C#putAll(kotlin.collections.Map){} + // Public signature: /C.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: C#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#remove(1:0?){}1:0? + // Public signature: /C.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: C#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /C.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: C#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: C{}entries + // Public signature: /C.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet?>? + // Public signature: /C.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: C{}keys + // Public signature: /C.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /C.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}values + // Public signature: /C.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /C.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : SortedMap { + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#comparator(){}java.util.Comparator? + // Public signature: /D.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: D#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#containsKey(1:0?){}kotlin.Boolean + // Public signature: /D.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsValue(1:0?){}kotlin.Boolean + // Public signature: /D.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#firstKey(){}1:0? + // Public signature: /D.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: D#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /D.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(1:0?){}1:0? + // Public signature: /D.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: D#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#lastKey(){}1:0? + // Public signature: /D.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: D#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#put(1:0?;1:0?){}1:0? + // Public signature: /D.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: D#putAll(kotlin.collections.Map){} + // Public signature: /D.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: D#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /D.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: D#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#remove(1:0){}1:0? + // Public signature: /D.remove|9192469557374314243[0] + // Public signature debug description: remove(1:0){}1:0? + override fun remove(key: T): T? + + // CHECK: + // Mangled name: D{}entries + // Public signature: /D.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet?>? + // Public signature: /D.entries.|2209330178150314733[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + abstract /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: D{}keys + // Public signature: /D.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet<1:0?>? + // Public signature: /D.keys.|-1655820107680360252[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>? + abstract /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: D{}values + // Public signature: /D.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableCollection<1:0?>? + // Public signature: /D.values.|-2076746461707851648[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>? + abstract /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(C;D){} +// Public signature: /test|-4299498337034679333[0] +// Public signature debug description: test(C;D){} +fun test(c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.ir.txt new file mode 100644 index 00000000000..5cdd63f4d9f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.ir.txt @@ -0,0 +1,462 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.C, T of .C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.C, T of .C>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>) returnType:@[FlexibleNullability] java.util.Comparator.C?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.C, T of .C> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] T of .C?, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] T of .C?, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.Function.C?, out @[EnhancedNullability] @[FlexibleNullability] T of .C?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.C?, out @[EnhancedNullability] @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, value:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>) returnType:@[FlexibleNullability] T of .C? [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.C, T of .C> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.C?, in @[EnhancedNullability] @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.C?, in @[EnhancedNullability] @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, defaultValue:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>, p0:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>) returnType:@[FlexibleNullability] T of .C? [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.C, T of .C> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] {T of .C & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.C & Any}, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?>) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .C & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.C & Any}, in @[EnhancedNullability] {T of .C & Any}, out @[EnhancedNullability] T of .C?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, value:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, from:kotlin.collections.Map.C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.C?, @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .C?) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?) returnType:T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, key:@[FlexibleNullability] T of .C?, value:@[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .C?) returnType:@[EnhancedNullability] T of .C? [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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .C?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .C?) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>, p0:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] @[FlexibleNullability] T of .C?, out @[EnhancedNullability] @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.C?, in @[EnhancedNullability] @[FlexibleNullability] T of .C?, out @[EnhancedNullability] @[FlexibleNullability] T of .C?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>, p0:@[FlexibleNullability] T of .C?, p1:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .C? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.C, T of .C>, p0:@[FlexibleNullability] T of .C?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>? [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.C, T of .C> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .C? + 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.C, T of .C>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .C?, @[FlexibleNullability] T of .C?>> [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.C, T of .C> + 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.C, T of .C>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .C?> [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.C, T of .C> + 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] T of .C?, @[FlexibleNullability] T of .C?>) 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] T of .C?, @[FlexibleNullability] T of .C?> + 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.C, T of .C>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .C?> [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.C, T of .C> + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.D, T of .D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .D.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.D.D> [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedMap.D, T of .D>]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>) returnType:@[FlexibleNullability] java.util.Comparator.D?>? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedMap + $this: VALUE_PARAMETER name: type:java.util.SortedMap.D, T of .D> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] T of .D?, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] T of .D?, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.Function.D?, out @[EnhancedNullability] @[FlexibleNullability] T of .D?>) returnType:@[EnhancedNullability] @[FlexibleNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.D?, out @[EnhancedNullability] @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, value:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] T of .D? + 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.D, T of .D>) returnType:@[FlexibleNullability] T of .D? [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.D, T of .D> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.BiConsumer.D?, in @[EnhancedNullability] @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.D?, in @[EnhancedNullability] @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?) returnType:T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, defaultValue:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] T of .D? + 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.D, T of .D>, p0:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:lastKey visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>) returnType:@[FlexibleNullability] T of .D? [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.D, T of .D> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] {T of .D & Any}, p2:@[EnhancedNullability] java.util.function.BiFunction.D & Any}, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?>) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] {T of .D & Any} + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.D & Any}, in @[EnhancedNullability] {T of .D & Any}, out @[EnhancedNullability] T of .D?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, value:@[FlexibleNullability] T of .D?) returnType:T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, from:kotlin.collections.Map.D?, @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map.D?, @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .D?) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, key:@[FlexibleNullability] T of .D?, value:@[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .D?) returnType:@[EnhancedNullability] T of .D? [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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p1:@[EnhancedNullability] @[FlexibleNullability] T of .D?, p2:@[EnhancedNullability] @[FlexibleNullability] T of .D?) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>, p0:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] @[FlexibleNullability] T of .D?, out @[EnhancedNullability] @[FlexibleNullability] T of .D?>) 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] T of .D?, @[FlexibleNullability] T of .D?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.D?, in @[EnhancedNullability] @[FlexibleNullability] T of .D?, out @[EnhancedNullability] @[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name:subMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>, p0:@[FlexibleNullability] T of .D?, p1:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] T of .D? + FUN FAKE_OVERRIDE name:tailMap visibility:public modality:ABSTRACT <> ($this:java.util.SortedMap.D, T of .D>, p0:@[FlexibleNullability] T of .D?) returnType:@[FlexibleNullability] java.util.SortedMap<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>? [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.D, T of .D> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] T of .D? + 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 + FUN name:remove visibility:public modality:OPEN <> ($this:.D.D>, key:T of .D) returnType:T of .D? + 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:.D.D> + VALUE_PARAMETER name:key index:0 type:T of .D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: T of .D): T of .D? declared in .D' + CONST Null type=kotlin.Nothing? value=null + 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.D, T of .D>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] T of .D?, @[FlexibleNullability] T of .D?>> [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.D, T of .D> + 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.D, T of .D>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .D?> [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.D, T of .D> + 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.D, T of .D>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[FlexibleNullability] T of .D?> [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.D, T of .D> + FUN name:test visibility:public modality:FINAL <> (c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:.C + VALUE_PARAMETER name:d index:1 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .C?): T of .C? declared in .C' type=kotlin.Boolean? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=false + value: CONST Boolean type=kotlin.Boolean value=false + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=EQ + : @[FlexibleNullability] kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (key: K of kotlin.collections.remove): V of kotlin.collections.remove? declared in kotlin.collections' type=kotlin.Boolean? origin=null + : kotlin.Boolean? + : @[FlexibleNullability] kotlin.Boolean? + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: T of .D): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .D?): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun get (key: @[FlexibleNullability] T of .D?): T of .D? declared in .D' type=kotlin.Boolean? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + key: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt new file mode 100644 index 00000000000..f8fbb50fac0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt @@ -0,0 +1,36 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667 + +// FILE: 1.kt +import java.util.SortedMap + +abstract class C : SortedMap + +abstract class D( + override val size: Int +) : SortedMap { + override fun remove(key: T): T? { + return null + } +} + +fun test(c: C, d: D){ + c.size + c[false] = false + c[null] = null + c.remove(null) + c.remove(true) + c.get(null) + c.get(true) + + d.size + d[false] = false + d[null] = null + d.remove(null) + d.remove(true) + d.get(null) + d.get(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt.txt new file mode 100644 index 00000000000..4d1d719ed11 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt.txt @@ -0,0 +1,42 @@ +abstract class C : SortedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : SortedMap { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun remove(key: T): T? { + return null + } + +} + +fun test(c: C, d: D) { + c.() /*~> Unit */ + c.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + c.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + c.remove(key = null) /*~> Unit */ + c.remove(key = true) /*~> Unit */ + c.get(key = null) /*~> Unit */ + c.get(key = true) /*~> Unit */ + d.() /*~> Unit */ + d.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = false, value = false) + d.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = null, value = null) + d.remove(key = null) /*~> Unit */ + d.remove(key = true) /*~> Unit */ + d.get(key = null) /*~> Unit */ + d.get(key = true) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.sig.kt.txt new file mode 100644 index 00000000000..f65b03abf01 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : SortedMap { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#containsKey(1:0?){}kotlin.Boolean + // Public signature: /C.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsValue(1:0?){}kotlin.Boolean + // Public signature: /C.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#firstKey(){}1:0? + // Public signature: /C.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: C#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /C.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(1:0?){}1:0? + // Public signature: /C.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: C#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#lastKey(){}1:0? + // Public signature: /C.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: C#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#put(1:0?;1:0?){}1:0? + // Public signature: /C.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: C#putAll(kotlin.collections.Map){} + // Public signature: /C.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: C#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#remove(1:0?){}1:0? + // Public signature: /C.remove|1221481991735041067[0] + // Public signature debug description: remove(1:0?){}1:0? + abstract /* fake */ override fun remove(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: C#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /C.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: C#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /C.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: C#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: C#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /C.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK: + // Mangled name: C{}entries + // Public signature: /C.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /C.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: C{}keys + // Public signature: /C.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /C.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}values + // Public signature: /C.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /C.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : SortedMap { + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#comparator(){}java.util.Comparator? + // Public signature: /D.comparator|6240606908609711708[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: D#compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.compute|2702548563686810222[0] + // Public signature debug description: compute(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.computeIfAbsent|1902356953839346066[0] + // Public signature debug description: computeIfAbsent(1:0?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability Function): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.computeIfPresent|2317887948082965150[0] + // Public signature debug description: computeIfPresent(1:0?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability T?, p1: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#containsKey(1:0?){}kotlin.Boolean + // Public signature: /D.containsKey|5388260987070917879[0] + // Public signature debug description: containsKey(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsValue(1:0?){}kotlin.Boolean + // Public signature: /D.containsValue|-9089876849234680485[0] + // Public signature debug description: containsValue(1:0?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: T?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#firstKey(){}1:0? + // Public signature: /D.firstKey|1162655332206060593[0] + // Public signature debug description: firstKey(){}1:0? + abstract /* fake */ override fun firstKey(): T? + + // CHECK: + // Mangled name: D#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /D.forEach|8271883452393484682[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(1:0?){}1:0? + // Public signature: /D.get|8053764236007311354[0] + // Public signature debug description: get(1:0?){}1:0? + abstract /* fake */ override operator fun get(key: T?): T? + + // CHECK JVM_IR: + // Mangled name: D#headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.headMap|-754070613780754732[0] + // Public signature debug description: headMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun headMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#lastKey(){}1:0? + // Public signature: /D.lastKey|3981838503626640145[0] + // Public signature debug description: lastKey(){}1:0? + abstract /* fake */ override fun lastKey(): T? + + // CHECK JVM_IR: + // Mangled name: D#merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.merge|8605551438802482404[0] + // Public signature debug description: merge(1:0?{EnhancedNullability};1:0{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability T?, p1: @EnhancedNullability (T & Any), p2: @EnhancedNullability BiFunction): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#put(1:0?;1:0?){}1:0? + // Public signature: /D.put|-1512118296314101551[0] + // Public signature debug description: put(1:0?;1:0?){}1:0? + abstract /* fake */ override fun put(key: T?, value: T?): T? + + // CHECK: + // Mangled name: D#putAll(kotlin.collections.Map){} + // Public signature: /D.putAll|-5586465831845288712[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: D#putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.putIfAbsent|4472454802371662741[0] + // Public signature debug description: putIfAbsent(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + // Public signature: /D.replace|-2461207647642232963[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}1:0?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?): @EnhancedNullability T? + + // CHECK JVM_IR: + // Mangled name: D#replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.replace|2720322045310582221[0] + // Public signature debug description: replace(1:0?{EnhancedNullability};1:0?{EnhancedNullability};1:0?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability T?, p1: @EnhancedNullability T?, p2: @EnhancedNullability T?): Boolean + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /D.replaceAll|-2102697218249204468[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: D#subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.subMap|387932042874080016[0] + // Public signature debug description: subMap(1:0?;1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun subMap(p0: T?, p1: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + // Public signature: /D.tailMap|-6854479957652547142[0] + // Public signature debug description: tailMap(1:0?){}java.util.SortedMap<1:0?,1:0?>? + abstract /* fake */ override fun tailMap(p0: T?): SortedMap? + + // CHECK JVM_IR: + // Mangled name: D#remove(1:0){}1:0? + // Public signature: /D.remove|9192469557374314243[0] + // Public signature debug description: remove(1:0){}1:0? + override fun remove(key: T): T? + + // CHECK: + // Mangled name: D{}entries + // Public signature: /D.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /D.entries.|-3651740414273962157[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry> + + // CHECK: + // Mangled name: D{}keys + // Public signature: /D.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: @EnhancedNullability MutableSet + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + // Public signature: /D.keys.|649304329200166856[0] + // Public signature debug description: (){}kotlin.collections.MutableSet<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableSet + + // CHECK: + // Mangled name: D{}values + // Public signature: /D.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: @EnhancedNullability MutableCollection + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + // Public signature: /D.values.|-4281354652209631610[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection<1:0?>{EnhancedNullability} + abstract /* fake */ override get(): @EnhancedNullability MutableCollection + +} + +// CHECK: +// Mangled name: #test(C;D){} +// Public signature: /test|-4299498337034679333[0] +// Public signature debug description: test(C;D){} +fun test(c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..c5f56ca2559 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.ir.txt @@ -0,0 +1,669 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.ArrayList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.ArrayList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Any) 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:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + 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 + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + 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 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + 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:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this: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.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Any [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:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Any) 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:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] kotlin.Any) 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:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Any> [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:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Any> [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:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + 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:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Any [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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Any>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[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:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Any> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + 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:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int, p1:@[EnhancedNullability] kotlin.Any) returnType:@[EnhancedNullability] kotlin.Any [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:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + 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.Any> [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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.ArrayList + 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.C.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN name:spliterator visibility:public modality:OPEN <> ($this:.C) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CALL 'public final fun TODO (reason: kotlin.String): kotlin.Nothing declared in kotlin' type=kotlin.Nothing origin=null + reason: CONST String type=kotlin.String value="Not yet implemented" + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .A' type=java.util.Spliterator origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun first (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (element: T of kotlin.collections.remove): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .B' type=java.util.Spliterator origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .C' type=java.util.Spliterator origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Any declared in .C' type=@[EnhancedNullability] kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..3df63b6cc26 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.kt.txt @@ -0,0 +1,74 @@ +abstract class A : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class B : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun first(): Any { + return 1 + } + + override fun remove(element: Any): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : ArrayList, SortedSet { + constructor() /* primary */ { + super/*ArrayList*/() + /* () */ + + } + + override fun spliterator(): Spliterator { + TODO(reason = "Not yet implemented") + } + +} + +fun test(a: A, b: B, c: C) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.last() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.spliterator() /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.last() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.spliterator() /*~> Unit */ + c.() /*~> Unit */ + c.first() /*~> Unit */ + c.last() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.add(element = null) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.remove(element = null) /*~> Unit */ + c.spliterator() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..b54396fd3e0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,650 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashSet, SortedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Any? + // Public signature: /A.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Any? + // Public signature: /A.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashSet, SortedSet { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Any? + // Public signature: /B.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Any + // Public signature: /B.first|617150990957322103[0] + // Public signature debug description: first(){}kotlin.Any + override fun first(): Any + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /B.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + override fun remove(element: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator + // Public signature: /B.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : ArrayList, SortedSet { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Any{EnhancedNullability}){} + // Public signature: /C.add|-1997177172890178871[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any{EnhancedNullability}){} + /* fake */ override fun add(p0: Int, p1: @EnhancedNullability Any): Unit + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-1238853243112048014[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 JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#ensureCapacity(kotlin.Int){} + // Public signature: /C.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#first(){}kotlin.Any? + // Public signature: /C.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Any{EnhancedNullability} + // Public signature: /C.get|180298419210008702[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any{EnhancedNullability} + /* fake */ override operator fun get(p0: Int): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-1510543345481704280[0] + // Public signature debug description: indexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Any): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#last(){}kotlin.Any? + // Public signature: /C.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|2930563811711283545[0] + // Public signature debug description: lastIndexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Any): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|8442743493456020478[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Any> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|7731162667602835687[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Any> + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Any{EnhancedNullability} + // Public signature: /C.removeAt|-4388969880337749708[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|-2374258688818552787[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Any>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Any{EnhancedNullability}){}kotlin.Any{EnhancedNullability} + // Public signature: /C.set|-1042181225144974901[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any{EnhancedNullability}){}kotlin.Any{EnhancedNullability} + /* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Any): @EnhancedNullability Any + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|-4688495693729964234[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-7780409623178073381[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 Any> + + // CHECK JVM_IR: + // Mangled name: C#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C#trimToSize(){} + // Public signature: /C.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator + // Public signature: /C.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.ir.txt new file mode 100644 index 00000000000..ce49b80e2f3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.ir.txt @@ -0,0 +1,672 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.ArrayList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.ArrayList' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.ArrayList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Any>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] 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:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Any> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + 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 + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:ensureCapacity visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this: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.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Any [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.ArrayList declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:index index:0 type: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 java.util.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.ArrayList, element:@[EnhancedNullability] kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Any> [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:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Any> [fake_override] + overridden: + public open fun listIterator (index: 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:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.ArrayList): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + 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 + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + 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:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Any>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[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:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Any> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.ArrayList>): kotlin.Boolean declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.ArrayList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Any) returnType:@[EnhancedNullability] kotlin.Any [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[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:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Any + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.ArrayList> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: 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 + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.ArrayList, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.ArrayList + 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] kotlin.Array.C.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:trimToSize visibility:public modality:OPEN <> ($this:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun trimToSize (): kotlin.Unit declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:java.util.ArrayList + FUN name:spliterator visibility:public modality:OPEN <> ($this:.C) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CALL 'public final fun TODO (reason: kotlin.String): kotlin.Nothing declared in kotlin' type=kotlin.Nothing origin=null + reason: CONST String type=kotlin.String value="Not yet implemented" + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.ArrayList + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .A' type=java.util.Spliterator origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun first (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (element: T of kotlin.collections.remove): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .B' type=java.util.Spliterator origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun spliterator (): java.util.Spliterator declared in .C' type=java.util.Spliterator origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Any declared in .C' type=@[EnhancedNullability] kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt new file mode 100644 index 00000000000..1f732dadfd6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt @@ -0,0 +1,62 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914 + +// FILE: 1.kt +import java.util.* + +abstract class A : SortedSet, HashSet() { //Kotlin ← Java1, Java2 + override fun spliterator(): Spliterator { + return null!! + } +} + +abstract class B : SortedSet, HashSet() { + override fun spliterator(): Spliterator { + return null!! + } + override fun first(): Any { + return 1 + } + override fun remove(element: Any): Boolean { + return true + } +} + +abstract class C : SortedSet, ArrayList() { + override fun spliterator(): Spliterator { + TODO("Not yet implemented") + } +} + +fun test(a: A, b: B, c: C) { + a.size + a.first() + a.last() + a.add(1) + a.add(null) + a.remove(1) + a.remove(null) + a.spliterator() + + b.size + b.first() + b.last() + b.add(1) + b.add(null) + b.remove(1) + b.remove(null) + b.spliterator() + + c.size + c.first() + c.last() + c.add(1) + c.add(null) + c.remove(1) + c.remove(null) + c.spliterator() + c.removeAt(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt.txt new file mode 100644 index 00000000000..872408c7283 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt.txt @@ -0,0 +1,74 @@ +abstract class A : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class B : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun first(): Any { + return 1 + } + + override fun remove(element: Any): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : ArrayList, SortedSet { + constructor() /* primary */ { + super/*ArrayList*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun spliterator(): Spliterator { + TODO(reason = "Not yet implemented") + } + +} + +fun test(a: A, b: B, c: C) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.last() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.spliterator() /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.last() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.remove(element = null) /*~> Unit */ + b.spliterator() /*~> Unit */ + c.() /*~> Unit */ + c.first() /*~> Unit */ + c.last() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.add(element = null) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.remove(element = null) /*~> Unit */ + c.spliterator() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..f354e680294 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.sig.kt.txt @@ -0,0 +1,650 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashSet, SortedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Any? + // Public signature: /A.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Any? + // Public signature: /A.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashSet, SortedSet { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Any? + // Public signature: /B.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Any + // Public signature: /B.first|617150990957322103[0] + // Public signature debug description: first(){}kotlin.Any + override fun first(): Any + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /B.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + override fun remove(element: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator + // Public signature: /B.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : ArrayList, SortedSet { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Any{EnhancedNullability}){} + // Public signature: /C.add|-1997177172890178871[0] + // Public signature debug description: add(kotlin.Int;kotlin.Any{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Any): Unit + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|1784940803852208300[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Any>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#ensureCapacity(kotlin.Int){} + // Public signature: /C.ensureCapacity|-7913402150632352615[0] + // Public signature debug description: ensureCapacity(kotlin.Int){} + /* fake */ override fun ensureCapacity(p0: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#first(){}kotlin.Any? + // Public signature: /C.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Any{EnhancedNullability} + // Public signature: /C.get|180298419210008702[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Any{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-1510543345481704280[0] + // Public signature debug description: indexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Any): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#last(){}kotlin.Any? + // Public signature: /C.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|2930563811711283545[0] + // Public signature debug description: lastIndexOf(kotlin.Any{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Any): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|8442743493456020478[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Any> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|7731162667602835687[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Any> + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Any{EnhancedNullability} + // Public signature: /C.removeAt|-4388969880337749708[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Any{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|-2374258688818552787[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Any>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Any{EnhancedNullability}){}kotlin.Any{EnhancedNullability} + // Public signature: /C.set|-1042181225144974901[0] + // Public signature debug description: set(kotlin.Int;kotlin.Any{EnhancedNullability}){}kotlin.Any{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Any): @EnhancedNullability Any + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|-4688495693729964234[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-7780409623178073381[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Any> + + // CHECK JVM_IR: + // Mangled name: C#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /C.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C#trimToSize(){} + // Public signature: /C.trimToSize|-5937642362792008740[0] + // Public signature debug description: trimToSize(){} + /* fake */ override fun trimToSize(): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator + // Public signature: /C.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..2242b5fb711 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.ir.txt @@ -0,0 +1,387 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..c06b2dba2e8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.fir.kt.txt @@ -0,0 +1,49 @@ +abstract class A : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class B : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(element: Any): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.first() /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAll(elements = listOf(element = null)) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.first() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAll(elements = listOf(element = null)) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.ir.txt new file mode 100644 index 00000000000..a5637ad65cf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.ir.txt @@ -0,0 +1,387 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt new file mode 100644 index 00000000000..89596c1c01e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt @@ -0,0 +1,42 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: 1.kt +import java.util.* +import kotlin.collections.HashSet + +abstract class A : SortedSet, HashSet() { + override fun spliterator(): Spliterator { + return null!! + } +} + +abstract class B : SortedSet, HashSet() { + override fun spliterator(): Spliterator { + return null!! + } + + override val size: Int + get() = 5 + + override fun remove(element: Any): Boolean { + return true + } +} + +fun test(a: A, b: B) { + a.size + a.add(1) + a.add(null) + a.first() + a.remove(1) + a.removeAll(listOf(null)) + + b.size + b.add(1) + b.add(null) + b.first() + b.remove(1) + b.removeAll(listOf(null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt.txt new file mode 100644 index 00000000000..c06b2dba2e8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt.txt @@ -0,0 +1,49 @@ +abstract class A : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class B : HashSet, SortedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(element: Any): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.first() /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAll(elements = listOf(element = null)) /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.first() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAll(elements = listOf(element = null)) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..0d7f360d361 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.sig.kt.txt @@ -0,0 +1,375 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashSet, SortedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Any? + // Public signature: /A.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Any? + // Public signature: /A.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : HashSet, SortedSet { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#comparator(){}java.util.Comparator? + // Public signature: /B.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Any? + // Public signature: /B.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Any? + // Public signature: /B.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any){}kotlin.Boolean + // Public signature: /B.remove|-5068250402844701250[0] + // Public signature debug description: remove(kotlin.Any){}kotlin.Boolean + override fun remove(element: Any): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator + // Public signature: /B.spliterator|7171182956228931643[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.ir.txt new file mode 100644 index 00000000000..5fb263d61d2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.ir.txt @@ -0,0 +1,319 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SortedSet) 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.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:last visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun last (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=10 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAll visibility:public modality:OPEN <> ($this:.B, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun first (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun last (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.kt.txt new file mode 100644 index 00000000000..107fa65c63c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.fir.kt.txt @@ -0,0 +1,53 @@ +abstract class A : SortedSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun first(): Any { + return 1 + } + + override fun last(): Any { + return 10 + } + + override fun remove(element: Any?): Boolean { + return true + } + + override fun removeAll(elements: Collection): Boolean { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.last() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.last() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.remove(element = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.ir.txt new file mode 100644 index 00000000000..174c5bc38ab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.ir.txt @@ -0,0 +1,319 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Set<@[FlexibleNullability] kotlin.Any?>) 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] 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 java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:last visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Any + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun last (): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=10 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAll visibility:public modality:OPEN <> ($this:.B, elements:kotlin.collections.Collection) returnType:kotlin.Boolean + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun last (): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun first (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun last (): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt new file mode 100644 index 00000000000..bdfbc6c7c65 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt @@ -0,0 +1,43 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: 1.kt +import java.util.SortedSet + +abstract class A : SortedSet + +abstract class B(override val size: Int) : SortedSet { + override fun remove(element: Any?): Boolean { + return true + } + + override fun removeAll(elements: Collection): Boolean { + return false + } + + override fun first(): Any { + return 1 + } + + override fun last(): Any { + return 10 + } +} + +fun test(a: A, b: B) { + a.size + a.first() + a.last() + a.add(1) + a.add(null) + a.remove(1) + a.remove(null) + + b.size + b.first() + b.last() + b.add(1) + b.add(null) + b.remove(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt.txt new file mode 100644 index 00000000000..107fa65c63c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt.txt @@ -0,0 +1,53 @@ +abstract class A : SortedSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun first(): Any { + return 1 + } + + override fun last(): Any { + return 10 + } + + override fun remove(element: Any?): Boolean { + return true + } + + override fun removeAll(elements: Collection): Boolean { + return false + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.last() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.remove(element = null) /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.last() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.remove(element = null) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.sig.kt.txt new file mode 100644 index 00000000000..21c661edad9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.sig.kt.txt @@ -0,0 +1,303 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Any? + // Public signature: /A.first|-539106208865751844[0] + // Public signature debug description: first(){}kotlin.Any? + abstract /* fake */ override fun first(): Any? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Any? + // Public signature: /A.last|-8060385802465825552[0] + // Public signature debug description: last(){}kotlin.Any? + abstract /* fake */ override fun last(): Any? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /A.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedSet { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // 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|-642446247392769612[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.headSet|2954566754043461149[0] + // Public signature debug description: headSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Any?): SortedSet? + + // 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#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.subSet|4242263016850439898[0] + // Public signature debug description: subSet(kotlin.Any?;kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Any?, p1: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Any?){}java.util.SortedSet? + // Public signature: /B.tailSet|7020286149431470171[0] + // Public signature debug description: tailSet(kotlin.Any?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Any?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Any + // Public signature: /B.first|617150990957322103[0] + // Public signature debug description: first(){}kotlin.Any + override fun first(): Any + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Any + // Public signature: /B.last|2058312458551041825[0] + // Public signature debug description: last(){}kotlin.Any + override fun last(): Any + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|5221453273440494638[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + override fun removeAll(elements: Collection): Boolean + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..100cdb6b590 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.ir.txt @@ -0,0 +1,383 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override,operator] + overridden: + public open fun get (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun getOrDefault (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.lang.Void, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.lang.Void, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.lang.Void + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun put (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun getOrDefault (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.lang.Void, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.lang.Void, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.lang.Void + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:java.lang.Void?) returnType:java.lang.Void? [operator] + overridden: + public open fun get (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:java.lang.Void? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: java.lang.Void?): java.lang.Void? declared in .B' + CONST Null type=kotlin.Nothing? value=null + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:java.lang.Void?, value:java.lang.Void?) returnType:java.lang.Void? + overridden: + public open fun put (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:java.lang.Void? + VALUE_PARAMETER name:value index:1 type:java.lang.Void? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: java.lang.Void?, value: java.lang.Void?): java.lang.Void? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] java.lang.Void?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] java.lang.Void?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] java.lang.Void? + : @[FlexibleNullability] java.lang.Void? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: java.lang.Void?): java.lang.Void? declared in .B' type=java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .B' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: java.lang.Void?, value: java.lang.Void?): java.lang.Void? declared in .B' type=java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] java.lang.Void? + : @[FlexibleNullability] java.lang.Void? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..64c017aad7d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.kt.txt @@ -0,0 +1,42 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(key: Void?): Void? { + return null + } + + override fun put(key: Void?, value: Void?): Void? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.get(p0 = null) /*~> Unit */ + a.remove(p0 = null) /*~> Unit */ + a.put(p0 = null, p1 = null) /*~> Unit */ + a.set<@FlexibleNullability Void?, @FlexibleNullability Void?>(key = null, value = null) + b.() /*~> Unit */ + b.get(key = null) /*~> Unit */ + b.remove(p0 = null) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Void?, @FlexibleNullability Void?>(key = null, value = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..238f71ec67d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.compute|6977469968988537776[0] + // Public signature debug description: compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|4329465547146554750[0] + // Public signature debug description: computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Function): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.computeIfPresent|-1495361389801002146[0] + // Public signature debug description: computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsKey|5181416443161121780[0] + // Public signature debug description: containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(p0: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsValue|-151308053273026729[0] + // Public signature debug description: containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(p0: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3333728751129660461[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.get|-5437480520979515156[0] + // Public signature debug description: get(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override operator fun get(p0: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.getOrDefault|-6692710645540676624[0] + // Public signature debug description: getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.merge|5869044834453664643[0] + // Public signature debug description: merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void, p2: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#put(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.put|7975374743396198264[0] + // Public signature debug description: put(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun put(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /A.putAll|4077071190905116058[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(p0: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.putIfAbsent|-4797474733036800888[0] + // Public signature debug description: putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.remove|7116987399649470555[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun remove(p0: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|3824480146987966758[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.replace|-8174378494123359813[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|6897198642055141200[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?, p2: @EnhancedNullability Void?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|4133981032225508162[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet?>? + // Public signature: /A.entries.|-6070695281271194003[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet? + // Public signature: /A.keys.|6556245738399573293[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection? + // Public signature: /A.values.|3365463410528719249[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.compute|6977469968988537776[0] + // Public signature debug description: compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|4329465547146554750[0] + // Public signature debug description: computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Function): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.computeIfPresent|-1495361389801002146[0] + // Public signature debug description: computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsKey|5181416443161121780[0] + // Public signature debug description: containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(p0: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsValue|-151308053273026729[0] + // Public signature debug description: containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(p0: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3333728751129660461[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#getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.getOrDefault|-6692710645540676624[0] + // Public signature debug description: getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.merge|5869044834453664643[0] + // Public signature debug description: merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void, p2: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /B.putAll|4077071190905116058[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(p0: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.putIfAbsent|-4797474733036800888[0] + // Public signature debug description: putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.remove|7116987399649470555[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun remove(p0: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|3824480146987966758[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.replace|-8174378494123359813[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|6897198642055141200[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?, p2: @EnhancedNullability Void?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|4133981032225508162[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#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#get(java.lang.Void?){}java.lang.Void? + // Public signature: /B.get|9121294653007435769[0] + // Public signature debug description: get(java.lang.Void?){}java.lang.Void? + override operator fun get(key: Void?): Void? + + // CHECK JVM_IR: + // Mangled name: B#put(java.lang.Void?;java.lang.Void?){}java.lang.Void? + // Public signature: /B.put|803515897900611974[0] + // Public signature debug description: put(java.lang.Void?;java.lang.Void?){}java.lang.Void? + override fun put(key: Void?, value: Void?): Void? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet?>? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet?>? + // Public signature: /B.entries.|-6070695281271194003[0] + // Public signature debug description: (){}kotlin.collections.MutableSet?>? + /* fake */ override get(): MutableSet?>? + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet? + // Public signature: /B.keys.|6556245738399573293[0] + // Public signature debug description: (){}kotlin.collections.MutableSet? + /* fake */ override get(): MutableSet? + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection? + // Public signature: /B.values.|3365463410528719249[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection? + /* fake */ override get(): MutableCollection? + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.ir.txt new file mode 100644 index 00000000000..d5605a1aa0d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.ir.txt @@ -0,0 +1,383 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, value:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:value index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override,operator] + overridden: + public open fun get (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, defaultValue:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun getOrDefault (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, defaultValue: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.lang.Void, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.lang.Void, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.lang.Void + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun put (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, from:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:from index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, value:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:value index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, defaultValue:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun getOrDefault (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, defaultValue: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] java.lang.Void, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] java.lang.Void, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.lang.Void + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, from:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:from index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, key:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:@[EnhancedNullability] java.lang.Void? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, p0:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p1: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, p2: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] java.lang.Void? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN name:get visibility:public modality:OPEN <> ($this:.B, key:java.lang.Void?) returnType:java.lang.Void? [operator] + overridden: + public open fun get (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:java.lang.Void? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (key: java.lang.Void?): java.lang.Void? declared in .B' + CONST Null type=kotlin.Nothing? value=null + FUN name:put visibility:public modality:OPEN <> ($this:.B, key:java.lang.Void?, value:java.lang.Void?) returnType:java.lang.Void? + overridden: + public open fun put (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:key index:0 type:java.lang.Void? + VALUE_PARAMETER name:value index:1 type:java.lang.Void? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun put (key: java.lang.Void?, value: java.lang.Void?): java.lang.Void? declared in .B' + CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?>> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?>) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] @[FlexibleNullability] java.lang.Void?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashMap<@[FlexibleNullability] java.lang.Void?, @[FlexibleNullability] java.lang.Void?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?, value: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .A' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] java.lang.Void? + : @[FlexibleNullability] java.lang.Void? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (key: java.lang.Void?): java.lang.Void? declared in .B' type=java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (key: @[EnhancedNullability] @[FlexibleNullability] java.lang.Void?): @[EnhancedNullability] java.lang.Void? declared in .B' type=@[EnhancedNullability] java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun put (key: java.lang.Void?, value: java.lang.Void?): java.lang.Void? declared in .B' type=java.lang.Void? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null + CALL 'public final fun set (key: K of kotlin.collections.set, value: V of kotlin.collections.set): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null + : @[FlexibleNullability] java.lang.Void? + : @[FlexibleNullability] java.lang.Void? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + key: CONST Null type=kotlin.Nothing? value=null + value: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt new file mode 100644 index 00000000000..5ea47df9514 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt @@ -0,0 +1,37 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914, KT-65667 + +// FILE: Java1.java +import java.util.HashMap; + +public abstract class Java1 extends HashMap { } + +// FILE: 1.kt +abstract class A : Java1() //Kotlin ← Java1 ←Java2 + +class B(override val size: Int) : Java1() { + override fun get(key: Void?): Void? { + return null + } + + override fun put(key: Void?, value: Void?): Void? { + return null + } +} + +fun test(a: A, b: B) { + a.size + a.get(null) + a.remove(null) + a.put(null, null) + a.set(null, null) + + b.size + b.get(null) + b.remove(null) + b.put(null, null) + b.set(null, null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt.txt new file mode 100644 index 00000000000..f4dbb67563d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt.txt @@ -0,0 +1,42 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(key: Void?): Void? { + return null + } + + override fun put(key: Void?, value: Void?): Void? { + return null + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.get(key = null) /*~> Unit */ + a.remove(key = null) /*~> Unit */ + a.put(key = null, value = null) /*~> Unit */ + a.set<@FlexibleNullability Void?, @FlexibleNullability Void?>(key = null, value = null) + b.() /*~> Unit */ + b.get(key = null) /*~> Unit */ + b.remove(key = null) /*~> Unit */ + b.put(key = null, value = null) /*~> Unit */ + b.set<@FlexibleNullability Void?, @FlexibleNullability Void?>(key = null, value = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..e8d71725f65 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.sig.kt.txt @@ -0,0 +1,393 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.compute|6977469968988537776[0] + // Public signature debug description: compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|4329465547146554750[0] + // Public signature debug description: computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Function): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.computeIfPresent|-1495361389801002146[0] + // Public signature debug description: computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsKey|5181416443161121780[0] + // Public signature debug description: containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(key: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsValue|-151308053273026729[0] + // Public signature debug description: containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(value: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3333728751129660461[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.get|-5437480520979515156[0] + // Public signature debug description: get(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override operator fun get(key: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.getOrDefault|-6692710645540676624[0] + // Public signature debug description: getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Void?, defaultValue: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.merge|5869044834453664643[0] + // Public signature debug description: merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void, p2: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#put(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.put|7975374743396198264[0] + // Public signature debug description: put(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun put(key: @EnhancedNullability Void?, value: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /A.putAll|-2344748043553547706[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(from: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.putIfAbsent|-4797474733036800888[0] + // Public signature debug description: putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.remove|7116987399649470555[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun remove(key: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|3824480146987966758[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(key: @EnhancedNullability Void?, value: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /A.replace|-8174378494123359813[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: A#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|6897198642055141200[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?, p2: @EnhancedNullability Void?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|4133981032225508162[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Void?, @EnhancedNullability Void?>> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-1449002387372962939[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Void?, @EnhancedNullability Void?>> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet<@EnhancedNullability Void?> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|6266223291892564583[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability Void?> + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection<@EnhancedNullability Void?> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|-4884439515124608116[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection<@EnhancedNullability Void?> + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.compute|6977469968988537776[0] + // Public signature debug description: compute(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|4329465547146554750[0] + // Public signature debug description: computeIfAbsent(java.lang.Void?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Function): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.computeIfPresent|-1495361389801002146[0] + // Public signature debug description: computeIfPresent(java.lang.Void?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsKey|5181416443161121780[0] + // Public signature debug description: containsKey(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(key: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsValue|-151308053273026729[0] + // Public signature debug description: containsValue(java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(value: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3333728751129660461[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#getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.getOrDefault|-6692710645540676624[0] + // Public signature debug description: getOrDefault(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Void?, defaultValue: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.merge|5869044834453664643[0] + // Public signature debug description: merge(java.lang.Void?{EnhancedNullability};java.lang.Void{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void, p2: @EnhancedNullability BiFunction): @EnhancedNullability Void? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /B.putAll|-2344748043553547706[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(from: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.putIfAbsent|-4797474733036800888[0] + // Public signature debug description: putIfAbsent(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.remove|7116987399649470555[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun remove(key: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|3824480146987966758[0] + // Public signature debug description: remove(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(key: @EnhancedNullability Void?, value: @EnhancedNullability Void?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + // Public signature: /B.replace|-8174378494123359813[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}java.lang.Void?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?): @EnhancedNullability Void? + + // CHECK JVM_IR: + // Mangled name: B#replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|6897198642055141200[0] + // Public signature debug description: replace(java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability};java.lang.Void?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Void?, p1: @EnhancedNullability Void?, p2: @EnhancedNullability Void?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|4133981032225508162[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#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#get(java.lang.Void?){}java.lang.Void? + // Public signature: /B.get|9121294653007435769[0] + // Public signature debug description: get(java.lang.Void?){}java.lang.Void? + override operator fun get(key: Void?): Void? + + // CHECK JVM_IR: + // Mangled name: B#put(java.lang.Void?;java.lang.Void?){}java.lang.Void? + // Public signature: /B.put|803515897900611974[0] + // Public signature debug description: put(java.lang.Void?;java.lang.Void?){}java.lang.Void? + override fun put(key: Void?, value: Void?): Void? + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Void?, @EnhancedNullability Void?>> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.entries.|-1449002387372962939[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Void?, @EnhancedNullability Void?>> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet<@EnhancedNullability Void?> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /B.keys.|6266223291892564583[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability Void?> + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection<@EnhancedNullability Void?> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /B.values.|-4884439515124608116[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection<@EnhancedNullability Void?> + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..be6d0c3cd56 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.ir.txt @@ -0,0 +1,291 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:iterator visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableIterator [operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.MutableIterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..47d710aa98c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.fir.kt.txt @@ -0,0 +1,46 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun add(element: Any?): Boolean { + return true + } + + override operator fun iterator(): MutableIterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.first<@FlexibleNullability Any?>() /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAll(elements = listOf(element = null)) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Any?>() /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.first<@FlexibleNullability Any?>() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAll(elements = listOf(element = null)) /*~> Unit */ + b.isNotEmpty<@FlexibleNullability Any?>() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.ir.txt new file mode 100644 index 00000000000..b24cee1a624 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.ir.txt @@ -0,0 +1,291 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Set<@[FlexibleNullability] kotlin.Any?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, element:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:iterator visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableIterator [operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.MutableIterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Any?>): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + elements: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun isNotEmpty (): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : @[FlexibleNullability] kotlin.Any? + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt new file mode 100644 index 00000000000..2e9f3850552 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt @@ -0,0 +1,39 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import kotlin.collections.AbstractMutableSet; + +public abstract class Java1 extends AbstractMutableSet { } + +// FILE: 1.kt +abstract class A : Java1() //Kotlin ← Java ← Kotlin + +class B(override val size: Int) : Java1() { + override fun add(element: Any?): Boolean { + return true + } + + override fun iterator(): MutableIterator { + return null!! + } +} + +fun test(a: A, b: B) { + a.size + a.add(1) + a.add(null) + a.first() + a.remove(1) + a.removeAll(listOf(null)) + a.isNotEmpty() + + b.size + b.add(1) + b.add(null) + b.first() + b.remove(1) + b.removeAll(listOf(null)) + b.isNotEmpty() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt.txt new file mode 100644 index 00000000000..47d710aa98c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt.txt @@ -0,0 +1,46 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun add(element: Any?): Boolean { + return true + } + + override operator fun iterator(): MutableIterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.first<@FlexibleNullability Any?>() /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.removeAll(elements = listOf(element = null)) /*~> Unit */ + a.isNotEmpty<@FlexibleNullability Any?>() /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.add(element = null) /*~> Unit */ + b.first<@FlexibleNullability Any?>() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.removeAll(elements = listOf(element = null)) /*~> Unit */ + b.isNotEmpty<@FlexibleNullability Any?>() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..fd12ba14884 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.sig.kt.txt @@ -0,0 +1,291 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|5172039261324384933[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|1853624435708785695[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.contains|4314304964322748880[0] + // Public signature debug description: contains(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|7057326425365175105[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|2396791366322203147[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-1413621844920680303[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun remove(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|2083414713666946876[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-7801901543191325013[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-4369081002402657372[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-839758233608771347[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-7611616968057929317[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Any?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.add|8629542948597441975[0] + // Public signature debug description: add(kotlin.Any?){}kotlin.Boolean + override fun add(element: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|-6120167154245536024[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + override operator fun iterator(): MutableIterator + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.ir.txt new file mode 100644 index 00000000000..3df7e46302a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.ir.txt @@ -0,0 +1,365 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.String) returnType:kotlin.Boolean + overridden: + public open fun add (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.String): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.String + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, 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.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.String?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.String?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (element: T of kotlin.collections.remove): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.String? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.String): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.kt.txt new file mode 100644 index 00000000000..3d79f9de00e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun add(element: String): Boolean { + return true + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +open class KotlinClass : HashSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(p0 = "") /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.remove(p0 = "") /*~> Unit */ + b.() /*~> Unit */ + b.add(element = "") /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.sig.kt.txt new file mode 100644 index 00000000000..b2273964284 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.fir.sig.kt.txt @@ -0,0 +1,452 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1013043421416614297[0] + // Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|3883602098922245867[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|3092772522219636263[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|8976873494666040524[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|6909137692784416467[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|3883602098922245867[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|3092772522219636263[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|8976873494666040524[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|6909137692784416467[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.String){}kotlin.Boolean + // Public signature: /B.add|-966782944774311941[0] + // Public signature debug description: add(kotlin.String){}kotlin.Boolean + override fun add(element: String): Boolean + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : HashSet { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.add|1013043421416614297[0] + // Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|3883602098922245867[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: KotlinClass#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /KotlinClass.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|3092772522219636263[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|8976873494666040524[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(p0: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|6909137692784416467[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String?> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.ir.txt new file mode 100644 index 00000000000..01a50fa314c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.ir.txt @@ -0,0 +1,365 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java1.toArray?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.String) returnType:kotlin.Boolean + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.String): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : @[FlexibleNullability] kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.String> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.String) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.String + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.String> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.String?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.String> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>, p0:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.String?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun remove (element: T of kotlin.collections.remove): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.String? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.String): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.String): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt new file mode 100644 index 00000000000..17eb218606b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt @@ -0,0 +1,34 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: 1.kt +import java.util.HashSet + +abstract class A : Java1() //Kotlin ← Java ← Kotlin ← Java + +class B : Java1() { + override val size: Int + get() = 5 + + override fun add(element: String): Boolean { + return true + } +} + +open class KotlinClass : HashSet() + +fun test(a: A, b: B) { + a.size + a.add("") + a.remove(null) + a.remove("") + + b.size + b.add("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt.txt new file mode 100644 index 00000000000..3f8fe838ade --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt.txt @@ -0,0 +1,44 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun add(element: String): Boolean { + return true + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +open class KotlinClass : HashSet { + constructor() /* primary */ { + super/*HashSet*/<@FlexibleNullability String?>() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.add(element = "") /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.remove(element = "") /*~> Unit */ + b.() /*~> Unit */ + b.add(element = "") /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.sig.kt.txt new file mode 100644 index 00000000000..f941fd8d9b8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.sig.kt.txt @@ -0,0 +1,452 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|1013043421416614297[0] + // Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-895603574928921635[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|5674745598510225962[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1670885194148112260[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|-5169222176134445645[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-895603574928921635[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|5674745598510225962[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1670885194148112260[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|-5169222176134445645[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.String){}kotlin.Boolean + // Public signature: /B.add|-966782944774311941[0] + // Public signature debug description: add(kotlin.String){}kotlin.Boolean + override fun add(element: String): Boolean + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : HashSet { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.add|1013043421416614297[0] + // Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-895603574928921635[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: KotlinClass#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.contains|-1288346193708144028[0] + // Public signature debug description: contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.containsAll|3856626117350599597[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|-5141242812493329438[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /KotlinClass.iterator|1587384006376391028[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|5674745598510225962[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.remove|2256698784022402098[0] + // Public signature debug description: remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability String): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.removeAll|239019554007958597[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-1670885194148112260[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinClass.retainAll|8583629559312465774[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability String>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|568936852624165869[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|-5169222176134445645[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..5e44294408c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,1805 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet; .Java1; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; java.util.SortedSet; java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; java.util.SortedSet; java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in java.util.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in java.util.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .E' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.E) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java2.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java2.toArray?>? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java2) 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 .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .G.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.G [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java2.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java2.toArray?>? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.G, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.G, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .G' + CONST Boolean type=kotlin.Boolean value=true + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinClass] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinClass]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + 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 .Java1 + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? declared in .KotlinClass + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>? + 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 .Java1 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SortedSet) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (p0: @[EnhancedNullability] kotlin.collections.Collection): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>? + 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 .Java3 + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, 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.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinClass.toArray?>? + 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.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.KotlinClass, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinClass' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SortedSet) 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.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..e9b37b89a2e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,194 @@ +abstract class A : Java1, SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : Java1, SortedSet, MutableSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun add(element: Int): Boolean { + return true + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class C : HashSet, Java1, MutableSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + +} + +class D : HashSet, Java1, MutableSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(o: Any?): Boolean { + return true + } + +} + +abstract class E : LinkedHashSet, Java1, SortedSet { + constructor() /* primary */ { + super/*LinkedHashSet*/() + /* () */ + + } + + override fun remove(o: Any?): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class F : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class G : Java2, Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun add(element: Int?): Boolean { + return true + } + + override fun remove(o: Any?): Boolean { + return true + } + +} + +abstract class H : KotlinClass, Java1 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass : HashSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +interface KotlinInterface : SortedSet { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.add(element = 1) /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.add(element = 1) /*~> Unit */ + c.() /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.add(element = 1) /*~> Unit */ + d.() /*~> Unit */ + d.add(element = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ + e.() /*~> Unit */ + e.first() /*~> Unit */ + e.remove(element = null) /*~> Unit */ + e.remove(element = 1) /*~> Unit */ + e.add(element = 1) /*~> Unit */ + e.add(element = null) /*~> Unit */ + f.() /*~> Unit */ + f.add(element = 1) /*~> Unit */ + f.add(element = null) /*~> Unit */ + f.remove(element = 1) /*~> Unit */ + f.remove(element = null) /*~> Unit */ + g.() /*~> Unit */ + g.add(element = null) /*~> Unit */ + g.add(element = 1) /*~> Unit */ + g.remove(element = null) /*~> Unit */ + g.remove(element = 1) /*~> Unit */ + h.() /*~> Unit */ + h.add(p0 = 1) /*~> Unit */ + h.remove(element = 1) /*~> Unit */ + h.remove(o = null) /*~> Unit */ + i.() /*~> Unit */ + i.add(element = null) /*~> Unit */ + i.add(element = 1) /*~> Unit */ + i.remove(element = 1) /*~> Unit */ + i.remove(element = null) /*~> Unit */ + j.() /*~> Unit */ + j.add(p0 = null) /*~> Unit */ + j.add(p0 = 1) /*~> Unit */ + j.remove(p0 = null) /*~> Unit */ + j.remove(p0 = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.sig.kt.txt new file mode 100644 index 00000000000..6a25af7379f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.fir.sig.kt.txt @@ -0,0 +1,1871 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, SortedSet, MutableSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Int? + // Public signature: /A.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Int? + // Public signature: /A.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, SortedSet, MutableSet { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // 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|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Int? + // Public signature: /B.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // 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#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Int? + // Public signature: /B.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int){}kotlin.Boolean + // Public signature: /B.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : HashSet, Java1, MutableSet { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int){}kotlin.Boolean + // Public signature: /C.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /C.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /C.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : HashSet, Java1, MutableSet { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int){}kotlin.Boolean + // Public signature: /D.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /D.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : LinkedHashSet, Java1, SortedSet { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /E.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: E#comparator(){}java.util.Comparator? + // Public signature: /E.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#first(){}kotlin.Int? + // Public signature: /E.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#hashCode(){}kotlin.Int + // Public signature: /E.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: E#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#last(){}kotlin.Int? + // Public signature: /E.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#toArray(){}kotlin.Array? + // Public signature: /E.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: E#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /E.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: E#toString(){}kotlin.String + // Public signature: /E.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator + // Public signature: /E.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2, Java1 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#hashCode(){}kotlin.Int + // Public signature: /F.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#toArray(){}kotlin.Array? + // Public signature: /F.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: F#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /F.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: F#toString(){}kotlin.String + // Public signature: /F.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, Java1 { + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /G.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#hashCode(){}kotlin.Int + // Public signature: /G.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#toArray(){}kotlin.Array? + // Public signature: /G.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: G#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /G.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: G#toString(){}kotlin.String + // Public signature: /G.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /G.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : KotlinClass, Java1 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /H.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.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: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: H#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /H.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#hashCode(){}kotlin.Int + // Public signature: /H.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /H.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: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /H.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.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: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.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: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#toArray(){}kotlin.Array? + // Public signature: /H.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: H#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /H.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: H#toString(){}kotlin.String + // Public signature: /H.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /H.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#comparator(){}java.util.Comparator? + // Public signature: /I.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#first(){}kotlin.Int? + // Public signature: /I.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator + // Public signature: /I.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#last(){}kotlin.Int? + // Public signature: /I.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /I.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: I#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java3, Java1 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|2130778526938791222[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /J.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.contains|-2468276587626376870[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: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#hashCode(){}kotlin.Int + // Public signature: /J.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /J.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /J.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|4920074937927144900[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: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|9019132369114162808[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: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#toArray(){}kotlin.Array? + // Public signature: /J.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: J#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /J.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: J#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /J.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : HashSet { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // 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 JVM_IR: + // 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: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // 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|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // 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#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: 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#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // 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#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // 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 + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SortedSet { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#comparator(){}java.util.Comparator? + // Public signature: /KotlinInterface.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#first(){}kotlin.Int? + // Public signature: /KotlinInterface.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#last(){}kotlin.Int? + // Public signature: /KotlinInterface.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..d94f8b858ab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,1805 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; .Java1; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet; .Java1; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; kotlin.collections.MutableSet; java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, element:kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; java.util.SortedSet; java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; java.util.SortedSet; java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SortedSet + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in java.util.SortedSet + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.E.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.E.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.E.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in java.util.SortedSet + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .E' + CONST Boolean type=kotlin.Boolean value=true + FUN name:spliterator visibility:public modality:OPEN <> ($this:.E) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract size: kotlin.Int + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractMutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.F.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.F.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java2.toArray?>?): @[FlexibleNullability] kotlin.Array.Java2.toArray?>? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.F.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Set<@[FlexibleNullability] kotlin.Int?>) 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .G.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.G [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.G.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.G.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java2.toArray?>?): @[FlexibleNullability] kotlin.Array.Java2.toArray?>? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.G.toArray?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:add visibility:public modality:OPEN <> ($this:.G, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' + CONST Boolean type=kotlin.Boolean value=true + FUN name:remove visibility:public modality:OPEN <> ($this:.G, o:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (o: kotlin.Any?): kotlin.Boolean declared in .G' + CONST Boolean type=kotlin.Boolean value=true + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinClass] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinClass]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + 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 .Java1 + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] kotlin.Int> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.H.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.H.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>?): @[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? declared in .KotlinClass + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.H.toArray?>? + 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 .Java1 + public open fun toString (): @[EnhancedNullability] kotlin.String declared in .KotlinClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.H, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinClass + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Set<@[FlexibleNullability] kotlin.Int?>) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3; .Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public open fun iterator (): @[EnhancedNullability] kotlin.collections.MutableIterator<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.J.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.J.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array.Java3.toArray?>?): @[FlexibleNullability] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.J.toArray?>? + 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 .Java3 + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[java.util.HashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.KotlinClass.toArray?>? + 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.HashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:remove visibility:public modality:OPEN <> ($this:.KotlinClass, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .KotlinClass' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Set<@[FlexibleNullability] kotlin.Int?>) 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.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun first (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (o: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + element: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + element: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..bfeb2711db3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt @@ -0,0 +1,137 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65219, KT-63914 + +// FILE: Java1.java +public interface Java1 { + boolean remove(Object o); +} + +// FILE: Java2.java +import kotlin.collections.AbstractMutableSet; +public abstract class Java2 extends AbstractMutableSet { } + +// FILE: Java3.java +import java.util.HashSet; +public class Java3 extends HashSet { } + +// FILE: 1.kt +import java.util.*; +import kotlin.collections.HashSet + +abstract class A : SortedSet , Java1, MutableSet //Kotlin ← Java1, Java2, Kotlin2 + +abstract class B(override val size: Int) : SortedSet , Java1, MutableSet { + override fun add(element: Int): Boolean { + return true + } + override fun remove(element: Int): Boolean { + return true + } +} + +abstract class C: Java1, MutableSet, HashSet() //Kotlin ← Java, Kotlin1, Kotlin2 + +class D: Java1, MutableSet, HashSet() { + override fun remove(o: Any?): Boolean { + return true + } +} + +abstract class E : Java1, SortedSet, LinkedHashSet() { //Kotlin ← Java1, Java2, Java3 + override fun remove(o: Any?): Boolean { + return true + } + override fun spliterator(): Spliterator { + return null!! + } +} + +abstract class F : Java1, Java2() //Kotlin ← Java1, Java2 ← Kotlin2 + +abstract class G(override val size: Int) : Java1, Java2() { + override fun add(element: Int?): Boolean { + return true + } + override fun remove(o: Any?): Boolean { + return true + } +} + +abstract class H : Java1, KotlinClass() { //Kotlin ← Java, Kotlin2 ← Kotlin3 + override fun remove(element: Int): Boolean { + return true + } +} + +abstract class I : KotlinInterface, Java1 //Kotlin ← Java, Kotlin2 ← Java2 + +abstract class J : Java3(), Java1 //Kotlin ← Java1, Java2 ← Java3 + +open class KotlinClass : HashSet() { + override fun remove(element : Int): Boolean { + return true + } +} + +interface KotlinInterface : SortedSet + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.size + a.first() + a.remove(null) + a.remove(1) + a.add(null) + a.add(1) + + b.size + b.first() + b.remove(1) + b.add(1) + + c.size + c.remove(1) + c.add(1) + + d.size + d.add(1) + d.remove(1) + + e.size + e.first() + e.remove(null) + e.remove(1) + e.add(1) + e.add(null) + + f.size + f.add(1) + f.add(null) + f.remove(1) + f.remove(null) + + g.size + g.add(null) + g.add(1) + g.remove(null) + g.remove(1) + + h.size + h.add(1) + h.remove(1) + h.remove(null) + + i.size + i.add(null) + i.add(1) + i.remove(1) + i.remove(null) + + j.size + j.add(null) + j.add(1) + j.remove(null) + j.remove(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..0ccdb620d19 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,194 @@ +abstract class A : Java1, SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : Java1, SortedSet, MutableSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun add(element: Int): Boolean { + return true + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class C : HashSet, Java1, MutableSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + +} + +class D : HashSet, Java1, MutableSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(o: Any?): Boolean { + return true + } + +} + +abstract class E : LinkedHashSet, Java1, SortedSet { + constructor() /* primary */ { + super/*LinkedHashSet*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun remove(o: Any?): Boolean { + return true + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class F : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class G : Java2, Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun add(element: Int?): Boolean { + return true + } + + override fun remove(o: Any?): Boolean { + return true + } + +} + +abstract class H : KotlinClass, Java1 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +abstract class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass : HashSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun remove(element: Int): Boolean { + return true + } + +} + +interface KotlinInterface : SortedSet { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.() /*~> Unit */ + a.first() /*~> Unit */ + a.remove(element = null) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.add(element = null) /*~> Unit */ + a.add(element = 1) /*~> Unit */ + b.() /*~> Unit */ + b.first() /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.add(element = 1) /*~> Unit */ + c.() /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.add(element = 1) /*~> Unit */ + d.() /*~> Unit */ + d.add(element = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ + e.() /*~> Unit */ + e.first() /*~> Unit */ + e.remove(element = null) /*~> Unit */ + e.remove(element = 1) /*~> Unit */ + e.add(element = 1) /*~> Unit */ + e.add(element = null) /*~> Unit */ + f.() /*~> Unit */ + f.add(element = 1) /*~> Unit */ + f.add(element = null) /*~> Unit */ + f.remove(element = 1) /*~> Unit */ + f.remove(element = null) /*~> Unit */ + g.() /*~> Unit */ + g.add(element = null) /*~> Unit */ + g.add(element = 1) /*~> Unit */ + g.remove(element = null) /*~> Unit */ + g.remove(element = 1) /*~> Unit */ + h.() /*~> Unit */ + h.add(element = 1) /*~> Unit */ + h.remove(element = 1) /*~> Unit */ + h.remove(o = null) /*~> Unit */ + i.() /*~> Unit */ + i.add(element = null) /*~> Unit */ + i.add(element = 1) /*~> Unit */ + i.remove(element = 1) /*~> Unit */ + i.remove(element = null) /*~> Unit */ + j.() /*~> Unit */ + j.add(element = null) /*~> Unit */ + j.add(element = 1) /*~> Unit */ + j.remove(element = null) /*~> Unit */ + j.remove(element = 1) /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..39d3a2b893c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,1871 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, SortedSet, MutableSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Int? + // Public signature: /A.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Int? + // Public signature: /A.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, SortedSet, MutableSet { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // 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|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Int? + // Public signature: /B.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // 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#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Int? + // Public signature: /B.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int){}kotlin.Boolean + // Public signature: /B.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : HashSet, Java1, MutableSet { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int){}kotlin.Boolean + // Public signature: /C.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /C.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /C.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : HashSet, Java1, MutableSet { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int){}kotlin.Boolean + // Public signature: /D.add|-1806173376318726841[0] + // Public signature debug description: add(kotlin.Int){}kotlin.Boolean + /* fake */ override fun add(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-6051524025259448486[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int){}kotlin.Boolean + // Public signature: /D.contains|5978686608528191145[0] + // Public signature debug description: contains(kotlin.Int){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|5891935227751154106[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|5550173533307317441[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /D.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + /* fake */ override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-3862070029132854703[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|1291083757121901219[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : LinkedHashSet, Java1, SortedSet { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /E.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: E#comparator(){}java.util.Comparator? + // Public signature: /E.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#first(){}kotlin.Int? + // Public signature: /E.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#hashCode(){}kotlin.Int + // Public signature: /E.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: E#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#last(){}kotlin.Int? + // Public signature: /E.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /E.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: E#toArray(){}kotlin.Array? + // Public signature: /E.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: E#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /E.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: E#toString(){}kotlin.String + // Public signature: /E.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator + // Public signature: /E.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2, Java1 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#hashCode(){}kotlin.Int + // Public signature: /F.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#toArray(){}kotlin.Array? + // Public signature: /F.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: F#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /F.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: F#toString(){}kotlin.String + // Public signature: /F.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, Java1 { + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /G.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#hashCode(){}kotlin.Int + // Public signature: /G.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#toArray(){}kotlin.Array? + // Public signature: /G.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: G#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /G.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: G#toString(){}kotlin.String + // Public signature: /G.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /G.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + override fun remove(o: Any?): Boolean + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : KotlinClass, Java1 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /H.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: H#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /H.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#hashCode(){}kotlin.Int + // Public signature: /H.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /H.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: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /H.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: H#toArray(){}kotlin.Array? + // Public signature: /H.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: H#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /H.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: H#toString(){}kotlin.String + // Public signature: /H.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /H.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#comparator(){}java.util.Comparator? + // Public signature: /I.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#first(){}kotlin.Int? + // Public signature: /I.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator + // Public signature: /I.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#last(){}kotlin.Int? + // Public signature: /I.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /I.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: I#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /I.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java3, Java1 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /J.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#hashCode(){}kotlin.Int + // Public signature: /J.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /J.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Any?){}kotlin.Boolean + // Public signature: /J.remove|-4847290102784382063[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun remove(o: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#toArray(){}kotlin.Array? + // Public signature: /J.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: J#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /J.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: J#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /J.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : HashSet { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: KotlinClass#clear(){} + // Public signature: /KotlinClass.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /KotlinClass.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // 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(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinClass#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinClass.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinClass#hashCode(){}kotlin.Int + // Public signature: /KotlinClass.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinClass.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // 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#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinClass.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // 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(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinClass#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinClass.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinClass#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinClass.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(){}kotlin.Array? + // Public signature: /KotlinClass.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /KotlinClass.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /KotlinClass.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // 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 + override fun remove(element: Int): Boolean + + // CHECK: + // Mangled name: KotlinClass{}size + // Public signature: /KotlinClass.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SortedSet { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#comparator(){}java.util.Comparator? + // Public signature: /KotlinInterface.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#first(){}kotlin.Int? + // Public signature: /KotlinInterface.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#last(){}kotlin.Int? + // Public signature: /KotlinInterface.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /KotlinInterface.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.ir.txt new file mode 100644 index 00000000000..4947f5c6f00 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.ir.txt @@ -0,0 +1,473 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .A.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.A [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [data] superTypes:[.Java1]' + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int [operator] + overridden: + public open fun component1 (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.component1' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.A, a:kotlin.Int) returnType:.A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.copy' type=.A origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (a: kotlin.Int): .A declared in .A' + CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .A' type=.A origin=null + a: GET_VAR 'a: kotlin.Int declared in .A.copy' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.A, other:kotlin.Any?) returnType:kotlin.Boolean [operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.A + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.A [val] + TYPE_OP type=.A origin=CAST typeOperand=.A + GET_VAR 'other: kotlin.Any? declared in .A.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.equals' type=.A origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'val tmp_0: .A declared in .A.equals' type=.A origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .A' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .A' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.hashCode' type=.A origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .A' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="A(" + CONST String type=kotlin.String value="a=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.toString' type=.A origin=null + CONST String type=kotlin.String value=")" + FUN name:foo visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public [data] superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int [operator] + overridden: + public open fun component1 (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun component1 (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.component1' type=.B origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.B, a:kotlin.Int) returnType:.B + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.copy' type=.B origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (a: kotlin.Int): .B declared in .B' + CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .B' type=.B origin=null + a: GET_VAR 'a: kotlin.Int declared in .B.copy' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.B, other:kotlin.Any?) returnType:kotlin.Boolean [operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .B declared in .B.equals' type=.B origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.B + GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:.B [val] + TYPE_OP type=.B origin=CAST typeOperand=.B + GET_VAR 'other: kotlin.Any? declared in .B.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.equals' type=.B origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'val tmp_1: .B declared in .B.equals' type=.B origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .B' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.hashCode' type=.B origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .B' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="B(" + CONST String type=kotlin.String value="a=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.toString' type=.B origin=null + CONST String type=kotlin.String value=")" + FUN name:foo visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public [data] superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public [data] superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int [operator] + overridden: + public open fun component1 (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun component1 (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.component1' type=.C origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.C, a:kotlin.Int) returnType:.C + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.copy' type=.C origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (a: kotlin.Int): .C declared in .C' + CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .C' type=.C origin=null + a: GET_VAR 'a: kotlin.Int declared in .C.copy' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.C, other:kotlin.Any?) returnType:kotlin.Boolean [operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .C declared in .C.equals' type=.C origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.C + GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:.C [val] + TYPE_OP type=.C origin=CAST typeOperand=.C + GET_VAR 'other: kotlin.Any? declared in .C.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.equals' type=.C origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'val tmp_2: .C declared in .C.equals' type=.C origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .C' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.hashCode' type=.C origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .C' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="C(" + CONST String type=kotlin.String value="a=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.toString' type=.C origin=null + CONST String type=kotlin.String value=")" + FUN name:foo visibility:public modality:OPEN <> ($this:.C, i:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:i index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public [data] superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .D.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.D [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public [data] superTypes:[.Java3]' + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int [operator] + overridden: + public abstract fun component1 (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.component1' type=.D origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.D, a:kotlin.Int) returnType:.D + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.copy' type=.D origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (a: kotlin.Int): .D declared in .D' + CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .D' type=.D origin=null + a: GET_VAR 'a: kotlin.Int declared in .D.copy' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.D, other:kotlin.Any?) returnType:kotlin.Boolean [operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .D declared in .D.equals' type=.D origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .D.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.D + GET_VAR 'other: kotlin.Any? declared in .D.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:.D [val] + TYPE_OP type=.D origin=CAST typeOperand=.D + GET_VAR 'other: kotlin.Any? declared in .D.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.equals' type=.D origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'val tmp_3: .D declared in .D.equals' type=.D origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .D' + CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.hashCode' type=.D origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .D' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="D(" + CONST String type=kotlin.String value="a=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.toString' type=.D origin=null + CONST String type=kotlin.String value=")" + FUN name:foo visibility:public modality:OPEN <> ($this:.D, i:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: kotlin.Any): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Any + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:component1 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .B' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .B' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .B' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .C' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .C' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .C' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.Int [val] + CALL 'public final fun component1 (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .D' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor (a: kotlin.Int) declared in .D' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt new file mode 100644 index 00000000000..2c835a4c35b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt @@ -0,0 +1,61 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK + +// FILE: Java1.java +public class Java1 { + public Object component1(){ + return "java1"; + }; + + public void foo(Integer i){}; +} + +// FILE: Java2.java +public interface Java2 { + public Integer component1(); + public void foo(Object i); +} + +// FILE: Java3.java +public interface Java3 extends KotlinInterface { } + +// FILE: 1.kt +data class A (val a : Int): Java1() { //Kotlin ← Java + override fun foo(i: Int?) { } +} + +data class B(val a : Int) : Java1(), Java2 { //Kotlin ← Java1, Java2 + override fun foo(i: Any?) { } +} + +data class C(val a: Int): Java1(), KotlinInterface { //Kotlin ← Java, Kotlin2 + override fun foo(i: Any) { } +} + +data class D(val a: Int): Java3 { //Kotlin ← Java ← Kotlin + override fun foo(i: Any) { } +} + + +interface KotlinInterface { + fun component1(): Int + fun foo(i: Any) +} + +fun test() { + val k: Int = A(1).component1() + A(1).foo(1) + A(1).foo(null) + + val k2: Int = B(1).component1() + B(1).foo(1) + B(1).foo(null) + + val k3: Int = C(1).component1() + C(1).foo(1) + C(1).foo(null) + + val k4: Int = D(1).component1() + D(1).foo(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt.txt new file mode 100644 index 00000000000..1b12250694a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt.txt @@ -0,0 +1,204 @@ +data class A : Java1 { + val a: Int + field = a + get + + constructor(a: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun component1(): Int { + return .#a + } + + fun copy(a: Int = .#a): A { + return A(a = a) + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is A -> return false + } + val tmp_0: A = other as A + when { + EQEQ(arg0 = .#a, arg1 = tmp_0.#a).not() -> return false + } + return true + } + + override fun hashCode(): Int { + return .#a.hashCode() + } + + override fun toString(): String { + return "A(" + "a=" + .#a + ")" + } + + override fun foo(i: Int?) { + } + +} + +data class B : Java1, Java2 { + val a: Int + field = a + get + + constructor(a: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun component1(): Int { + return .#a + } + + fun copy(a: Int = .#a): B { + return B(a = a) + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is B -> return false + } + val tmp_1: B = other as B + when { + EQEQ(arg0 = .#a, arg1 = tmp_1.#a).not() -> return false + } + return true + } + + override fun hashCode(): Int { + return .#a.hashCode() + } + + override fun toString(): String { + return "B(" + "a=" + .#a + ")" + } + + override fun foo(i: Any?) { + } + +} + +data class C : Java1, KotlinInterface { + val a: Int + field = a + get + + constructor(a: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun component1(): Int { + return .#a + } + + fun copy(a: Int = .#a): C { + return C(a = a) + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is C -> return false + } + val tmp_2: C = other as C + when { + EQEQ(arg0 = .#a, arg1 = tmp_2.#a).not() -> return false + } + return true + } + + override fun hashCode(): Int { + return .#a.hashCode() + } + + override fun toString(): String { + return "C(" + "a=" + .#a + ")" + } + + override fun foo(i: Any) { + } + +} + +data class D : Java3 { + val a: Int + field = a + get + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun component1(): Int { + return .#a + } + + fun copy(a: Int = .#a): D { + return D(a = a) + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is D -> return false + } + val tmp_3: D = other as D + when { + EQEQ(arg0 = .#a, arg1 = tmp_3.#a).not() -> return false + } + return true + } + + override fun hashCode(): Int { + return .#a.hashCode() + } + + override fun toString(): String { + return "D(" + "a=" + .#a + ")" + } + + override fun foo(i: Any) { + } + +} + +interface KotlinInterface { + abstract fun component1(): Int + + abstract fun foo(i: Any) + +} + +fun test() { + val k: Int = A(a = 1).component1() + A(a = 1).foo(i = 1) + A(a = 1).foo(i = null) + val k2: Int = B(a = 1).component1() + B(a = 1).foo(i = 1) + B(a = 1).foo(i = null) + val k3: Int = C(a = 1).component1() + C(a = 1).foo(i = 1) + C(a = 1).foo(i = null) + val k4: Int = D(a = 1).component1() + D(a = 1).foo(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.sig.kt.txt new file mode 100644 index 00000000000..06514d5a8c3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.sig.kt.txt @@ -0,0 +1,271 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +data class A : Java1 { + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#component1(){}kotlin.Int + // Public signature: /A.component1|-8217597213800111288[0] + // Public signature debug description: component1(){}kotlin.Int + override operator fun component1(): Int + + // CHECK JVM_IR: + // Mangled name: A#copy(kotlin.Int){}A + // Public signature: /A.copy|6666966860941076951[0] + // Public signature debug description: copy(kotlin.Int){}A + fun copy(a: Int): A + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + override fun toString(): String + + // CHECK: + // Mangled name: A#foo(kotlin.Int?){} + // Public signature: /A.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(i: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +data class B : Java1, Java2 { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(i: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#component1(){}kotlin.Int + // Public signature: /B.component1|-8217597213800111288[0] + // Public signature debug description: component1(){}kotlin.Int + override operator fun component1(): Int + + // CHECK JVM_IR: + // Mangled name: B#copy(kotlin.Int){}B + // Public signature: /B.copy|5674867048974181753[0] + // Public signature debug description: copy(kotlin.Int){}B + fun copy(a: Int): B + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + override fun toString(): String + + // CHECK: + // Mangled name: B#foo(kotlin.Any?){} + // Public signature: /B.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(i: Any?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +data class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(i: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#component1(){}kotlin.Int + // Public signature: /C.component1|-8217597213800111288[0] + // Public signature debug description: component1(){}kotlin.Int + override operator fun component1(): Int + + // CHECK JVM_IR: + // Mangled name: C#copy(kotlin.Int){}C + // Public signature: /C.copy|-9014440408173608316[0] + // Public signature debug description: copy(kotlin.Int){}C + fun copy(a: Int): C + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + override fun toString(): String + + // CHECK: + // Mangled name: C#foo(kotlin.Any){} + // Public signature: /C.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(i: Any): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +data class D : Java3 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#component1(){}kotlin.Int + // Public signature: /D.component1|-8217597213800111288[0] + // Public signature debug description: component1(){}kotlin.Int + override operator fun component1(): Int + + // CHECK JVM_IR: + // Mangled name: D#copy(kotlin.Int){}D + // Public signature: /D.copy|-9038476566104378393[0] + // Public signature debug description: copy(kotlin.Int){}D + fun copy(a: Int): D + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + override fun toString(): String + + // CHECK: + // Mangled name: D#foo(kotlin.Any){} + // Public signature: /D.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(i: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#component1(){}kotlin.Int + // Public signature: /KotlinInterface.component1|-8217597213800111288[0] + // Public signature debug description: component1(){}kotlin.Int + abstract fun component1(): Int + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Any){} + // Public signature: /KotlinInterface.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract fun foo(i: Any): Unit + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.ir.txt new file mode 100644 index 00000000000..ac7fcb1bd60 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.ir.txt @@ -0,0 +1,589 @@ +FILE fqName: fileName:/1.kt + CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; kotlin.Enum<.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; kotlin.Enum<.A>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.A + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.A> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>, other:.A) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + VALUE_PARAMETER name:other index:0 type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.A> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[.Java1; kotlin.Enum<.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.FIRST + CONSTRUCTOR visibility:private <> () returnType:.B.FIRST [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.B]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:.B) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .B): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .B + $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 .B + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B.FIRST, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B + $this: VALUE_PARAMETER name: type:.B.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + ENUM_ENTRY name:SECOND + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B' + CONSTRUCTOR visibility:private <> () returnType:.B [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[.Java1; kotlin.Enum<.B>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.B + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.B> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:.B) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java1 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.B> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; kotlin.Enum<.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:private <> () returnType:.C [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .C + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; kotlin.Enum<.C>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.C + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.C> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>, other:.C) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + VALUE_PARAMETER name:other index:0 type:.C + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $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:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java2 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.C> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[.Java2; kotlin.Enum<.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .D.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.D] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.FIRST + CONSTRUCTOR visibility:private <> () returnType:.D.FIRST [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .D' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.D]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:.D) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .D): kotlin.Int declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:.D + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .D + $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 .D + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D.FIRST, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .D + $this: VALUE_PARAMETER name: type:.D.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + CONSTRUCTOR visibility:private <> () returnType:.D [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .D + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[.Java2; kotlin.Enum<.D>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.D + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.D> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:.D) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:.D + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java2 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.D> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3; kotlin.Enum<.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:private <> () returnType:.E [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .E + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3; kotlin.Enum<.E>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.E + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.E> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>, other:.E) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + VALUE_PARAMETER name:other index:0 type:.E + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.E> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3; kotlin.Enum<.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .F.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.F] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.FIRST + CONSTRUCTOR visibility:private <> () returnType:.F.FIRST [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .F' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.F]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:.F) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .F): kotlin.Int declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:.F + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .F + $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:.F, i:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: kotlin.Any): kotlin.Unit declared in .F + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .F + $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 .F + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F.FIRST, i:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F + $this: VALUE_PARAMETER name: type:.F.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + CONSTRUCTOR visibility:private <> () returnType:.F [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .F + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3; kotlin.Enum<.F>]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.F + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.F> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:.F) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:.F + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + public open fun toString (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, i:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.F> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.B + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:SECOND' type=.B + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.B + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.D + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.D + CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST String type=kotlin.String value="" + CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.kt.txt new file mode 100644 index 00000000000..d4da73710f5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.fir.kt.txt @@ -0,0 +1,166 @@ +enum class A : Enum, Java1 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +open enum class B : Enum, Java1 { + + FIRST = FIRST() + private enum entry class FIRST : B { + private constructor() /* primary */ { + super/*B*/() + /* () */ + + } + + override fun foo(i: Int) { + } + + } + + SECOND = B() + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Int) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +enum class C : Enum, Java2 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +open enum class D : Enum, Java2 { + + FIRST = FIRST() + private enum entry class FIRST : D { + private constructor() /* primary */ { + super/*D*/() + /* () */ + + } + + override fun foo(i: Int) { + } + + } + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Int) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +enum class E : Enum, Java1, Java3 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): E /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +abstract enum class F : Enum, Java1, Java3 { + + FIRST = FIRST() + private enum entry class FIRST : F { + private constructor() /* primary */ { + super/*F*/() + /* () */ + + } + + override fun foo(i: Int?) { + } + + } + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Any) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +interface KotlinInterface { + fun foo(i: Int) { + } + +} + +fun test() { + B.FIRST.foo(i = 1) + B.SECOND.foo(i = 1) + B.FIRST.() /*~> Unit */ + D.FIRST.foo(i = 1) + D.FIRST.() /*~> Unit */ + F.FIRST.foo(i = 1) + F.FIRST.foo(i = "") + F.FIRST.foo(i = null) + F.FIRST.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.ir.txt new file mode 100644 index 00000000000..89ea6d2e6fb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.ir.txt @@ -0,0 +1,592 @@ +FILE fqName: fileName:/1.kt + CLASS ENUM_CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.A>; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:private <> () returnType:.A [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.A>; .Java1]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.A + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.A> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>, other:.A) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + VALUE_PARAMETER name:other index:0 type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.A> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.A>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.A> + CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Enum<.B>; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.B] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.FIRST + CONSTRUCTOR visibility:private <> () returnType:.B.FIRST [primary] + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.B]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:.B) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .B): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + FUN name:foo visibility:public modality:OPEN <> ($this:.B.FIRST, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B + $this: VALUE_PARAMETER name: type:.B.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .B + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + ENUM_ENTRY name:SECOND + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .B' + CONSTRUCTOR visibility:private <> () returnType:.B [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Enum<.B>; .Java1]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.B + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.B> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:.B) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:.B + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + FUN name:foo visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.B> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.B>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.B> + CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Enum<.C>; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:private <> () returnType:.C [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .C + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Enum<.C>; .Java2]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.C + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.C> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>, other:.C) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + VALUE_PARAMETER name:other index:0 type:.C + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.C>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.C> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.C>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.C> + CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[kotlin.Enum<.D>; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .D.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.D] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.FIRST + CONSTRUCTOR visibility:private <> () returnType:.D.FIRST [primary] + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .D' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.D]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:.D) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .D): kotlin.Int declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:.D + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + FUN name:foo visibility:public modality:OPEN <> ($this:.D.FIRST, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .D + $this: VALUE_PARAMETER name: type:.D.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .D + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + CONSTRUCTOR visibility:private <> () returnType:.D [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .D + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[kotlin.Enum<.D>; .Java2]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.D + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.D> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:.D) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:.D + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + FUN name:foo visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (i: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.D> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.D>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.D> + CLASS ENUM_CLASS name:E modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.E>; .Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:private <> () returnType:.E [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .E + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.E>; .Java1; .Java3]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.E + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.E> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>, other:.E) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + VALUE_PARAMETER name:other index:0 type:.E + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.E>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.E> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.E>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.E> + CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.F>; .Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + ENUM_ENTRY name:FIRST + init: EXPRESSION_BODY + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .F.FIRST' + class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.F] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.FIRST + CONSTRUCTOR visibility:private <> () returnType:.F.FIRST [primary] + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + ENUM_CONSTRUCTOR_CALL 'private constructor () declared in .F' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[.F]' + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:.F) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: .F): kotlin.Int declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:.F + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.F, i:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (i: kotlin.Any): kotlin.Unit declared in .F + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + FUN name:foo visibility:public modality:OPEN <> ($this:.F.FIRST, i:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F + $this: VALUE_PARAMETER name: type:.F.FIRST + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in .F + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + CONSTRUCTOR visibility:private <> () returnType:.F [primary] + BLOCK_BODY + ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum' + : .F + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.F>; .Java1; .Java3]' + FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.F + VALUE_PARAMETER name:value index:0 type:kotlin.String + SYNTHETIC_BODY kind=ENUM_VALUEOF + FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.F> + SYNTHETIC_BODY kind=ENUM_VALUES + FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:.F) returnType:kotlin.Int [fake_override,operator] + overridden: + public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:.F + FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + overridden: + public final fun hashCode (): kotlin.Int declared in kotlin.Enum + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Enum + public open fun toString (): kotlin.String declared in .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + FUN name:foo visibility:public modality:OPEN <> ($this:.F, i:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + FUN ENUM_CLASS_SPECIAL_MEMBER name: visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<.F> + correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val] + SYNTHETIC_BODY kind=ENUM_ENTRIES + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + annotations: + IntrinsicConstEvaluation + overridden: + public final name: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final ordinal: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.F>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Int declared in kotlin.Enum + $this: VALUE_PARAMETER name: type:kotlin.Enum<.F> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.B + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:SECOND' type=.B + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.B + CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.D + i: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.D + CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (i: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST String type=kotlin.String value="" + CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F + i: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=.F diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt new file mode 100644 index 00000000000..d1e382f5f70 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt @@ -0,0 +1,61 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +public interface Java1 { + public void foo(Integer i); +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: Java3.java +public interface Java3 { + public void foo(Object i); +} + +// FILE: 1.kt +enum class A : Java1 //Kotlin ← Java + +enum class B : Java1 { //Kotlin ← Java with explicit override + FIRST { + override fun foo(i: Int) { } + }, + SECOND; + override fun foo(i: Int) { } +} + +enum class C: Java2 //Kotlin ← Java ← Kotlin + +enum class D : Java2 { //Kotlin ← Java ← Kotlin with explicit override + FIRST { + override fun foo(i: Int) {} + }; + override fun foo(i: Int) { } +} + +enum class E : Java1, Java3 //Kotlin ← Java1, Java2 + +enum class F: Java1, Java3 { //Kotlin ← Java1, Java2 with explicit override + FIRST { + override fun foo(i: Int?) { } + }; + override fun foo(i: Any) { } +} + +interface KotlinInterface { + fun foo(i: Int){} +} + +fun test() { + B.FIRST.foo(1) + B.SECOND.foo(1) + B.FIRST.ordinal + D.FIRST.foo(1) + D.FIRST.ordinal + F.FIRST.foo(1) + F.FIRST.foo("") + F.FIRST.foo(null) + F.FIRST.ordinal +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt.txt new file mode 100644 index 00000000000..7d0e252c683 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt.txt @@ -0,0 +1,166 @@ +abstract enum class A : Enum, Java1 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +open enum class B : Enum, Java1 { + + FIRST = FIRST() + private enum entry class FIRST : B { + private constructor() /* primary */ { + super/*B*/() /*~> Unit */ + /* () */ + + } + + override fun foo(i: Int) { + } + + } + + SECOND = B() + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Int) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +enum class C : Enum, Java2 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +open enum class D : Enum, Java2 { + + FIRST = FIRST() + private enum entry class FIRST : D { + private constructor() /* primary */ { + super/*D*/() /*~> Unit */ + /* () */ + + } + + override fun foo(i: Int) { + } + + } + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Int) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +abstract enum class E : Enum, Java1, Java3 { + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): E /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +abstract enum class F : Enum, Java1, Java3 { + + FIRST = FIRST() + private enum entry class FIRST : F { + private constructor() /* primary */ { + super/*F*/() /*~> Unit */ + /* () */ + + } + + override fun foo(i: Int?) { + } + + } + + private constructor() /* primary */ { + super/*Enum*/() + /* () */ + + } + + fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */ + + fun values(): Array /* Synthetic body for ENUM_VALUES */ + + override fun foo(i: Any) { + } + + val entries: EnumEntries + get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ + +} + +interface KotlinInterface { + fun foo(i: Int) { + } + +} + +fun test() { + B.FIRST.foo(i = 1) + B.SECOND.foo(i = 1) + B.FIRST.() /*~> Unit */ + D.FIRST.foo(i = 1) + D.FIRST.() /*~> Unit */ + F.FIRST.foo(i = 1) + F.FIRST.foo(i = "") + F.FIRST.foo(i = null) + F.FIRST.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.sig.kt.txt new file mode 100644 index 00000000000..7c85362305d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.sig.kt.txt @@ -0,0 +1,769 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract enum class A : Enum, Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#valueOf#static(kotlin.String){}A + // Public signature: /A.valueOf|8636923007498802918[0] + // Public signature debug description: valueOf#static(kotlin.String){}A + fun valueOf(value: String): A + + // CHECK JVM_IR: + // Mangled name: A#values#static(){}kotlin.Array + // Public signature: /A.values|5753238680897834936[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: A#compareTo(A){}kotlin.Int + // Public signature: /A.compareTo|-315052537630360750[0] + // Public signature debug description: compareTo(A){}kotlin.Int + /* fake */ override operator fun compareTo(other: A): Int + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: A#foo(kotlin.Int?){} + // Public signature: /A.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + abstract /* fake */ override fun foo(i: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String + // Public signature: /A.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: A#static{}entries + // Public signature: /A.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: A##static(){}kotlin.enums.EnumEntries + // Public signature: /A.entries.|3279885591622842062[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: A{}name + // Public signature: /A.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.String + // Public signature: /A.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: A{}ordinal + // Public signature: /A.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +open enum class B : Enum, Java1 { + // CHECK: + // Mangled name: B.FIRST + // Public signature: /B.FIRST|null[0] + + FIRST + // CHECK: + // Mangled name: B.FIRST + // Public signature: /B.FIRST.|null[0] + private enum entry class FIRST : B { + // CHECK: + // Mangled name: B.FIRST#(){} + // Public signature: /B.FIRST..|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B.FIRST#compareTo(B){}kotlin.Int + // Public signature: /B.FIRST..compareTo|-1200795560863458264[0] + // Public signature debug description: compareTo(B){}kotlin.Int + /* fake */ override operator fun compareTo(other: B): Int + + // CHECK JVM_IR: + // Mangled name: B.FIRST#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.FIRST..equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B.FIRST#hashCode(){}kotlin.Int + // Public signature: /B.FIRST..hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B.FIRST#toString(){}kotlin.String + // Public signature: /B.FIRST..toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: B.FIRST#foo(kotlin.Int){} + // Public signature: /B.FIRST..foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(i: Int): Unit + + // CHECK: + // Mangled name: B.FIRST{}name + // Public signature: /B.FIRST..name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: B.FIRST#(){}kotlin.String + // Public signature: /B.FIRST..name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: B.FIRST{}ordinal + // Public signature: /B.FIRST..ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: B.FIRST#(){}kotlin.Int + // Public signature: /B.FIRST..ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + } + + // CHECK: + // Mangled name: B.SECOND + // Public signature: /B.SECOND|null[0] + SECOND + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#valueOf#static(kotlin.String){}B + // Public signature: /B.valueOf|2408567556946635432[0] + // Public signature debug description: valueOf#static(kotlin.String){}B + fun valueOf(value: String): B + + // CHECK JVM_IR: + // Mangled name: B#values#static(){}kotlin.Array + // Public signature: /B.values|-8395853061849580878[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: B#compareTo(B){}kotlin.Int + // Public signature: /B.compareTo|-1200795560863458264[0] + // Public signature debug description: compareTo(B){}kotlin.Int + /* fake */ override operator fun compareTo(other: B): Int + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String + // Public signature: /B.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(i: Int): Unit + + // CHECK: + // Mangled name: B#static{}entries + // Public signature: /B.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: B##static(){}kotlin.enums.EnumEntries + // Public signature: /B.entries.|-4957332767046741603[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: B{}name + // Public signature: /B.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.String + // Public signature: /B.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: B{}ordinal + // Public signature: /B.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +enum class C : Enum, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#valueOf#static(kotlin.String){}C + // Public signature: /C.valueOf|-2389114151510560951[0] + // Public signature debug description: valueOf#static(kotlin.String){}C + fun valueOf(value: String): C + + // CHECK JVM_IR: + // Mangled name: C#values#static(){}kotlin.Array + // Public signature: /C.values|7502231763187299265[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: C#compareTo(C){}kotlin.Int + // Public signature: /C.compareTo|-1378233393991641821[0] + // Public signature debug description: compareTo(C){}kotlin.Int + /* fake */ override operator fun compareTo(other: C): Int + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: C#foo(kotlin.Int){} + // Public signature: /C.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(i: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String + // Public signature: /C.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: C#static{}entries + // Public signature: /C.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: C##static(){}kotlin.enums.EnumEntries + // Public signature: /C.entries.|6322210628834886742[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: C{}name + // Public signature: /C.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.String + // Public signature: /C.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: C{}ordinal + // Public signature: /C.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +open enum class D : Enum, Java2 { + // CHECK: + // Mangled name: D.FIRST + // Public signature: /D.FIRST|null[0] + + FIRST + // CHECK: + // Mangled name: D.FIRST + // Public signature: /D.FIRST.|null[0] + private enum entry class FIRST : D { + // CHECK: + // Mangled name: D.FIRST#(){} + // Public signature: /D.FIRST..|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D.FIRST#compareTo(D){}kotlin.Int + // Public signature: /D.FIRST..compareTo|5924288596671868389[0] + // Public signature debug description: compareTo(D){}kotlin.Int + /* fake */ override operator fun compareTo(other: D): Int + + // CHECK JVM_IR: + // Mangled name: D.FIRST#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.FIRST..equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D.FIRST#hashCode(){}kotlin.Int + // Public signature: /D.FIRST..hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D.FIRST#toString(){}kotlin.String + // Public signature: /D.FIRST..toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: D.FIRST#foo(kotlin.Int){} + // Public signature: /D.FIRST..foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(i: Int): Unit + + // CHECK: + // Mangled name: D.FIRST{}name + // Public signature: /D.FIRST..name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: D.FIRST#(){}kotlin.String + // Public signature: /D.FIRST..name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: D.FIRST{}ordinal + // Public signature: /D.FIRST..ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: D.FIRST#(){}kotlin.Int + // Public signature: /D.FIRST..ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + } + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#valueOf#static(kotlin.String){}D + // Public signature: /D.valueOf|-4318015118377802396[0] + // Public signature debug description: valueOf#static(kotlin.String){}D + fun valueOf(value: String): D + + // CHECK JVM_IR: + // Mangled name: D#values#static(){}kotlin.Array + // Public signature: /D.values|-6336246312675667254[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: D#compareTo(D){}kotlin.Int + // Public signature: /D.compareTo|5924288596671868389[0] + // Public signature debug description: compareTo(D){}kotlin.Int + /* fake */ override operator fun compareTo(other: D): Int + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String + // Public signature: /D.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(i: Int): Unit + + // CHECK: + // Mangled name: D#static{}entries + // Public signature: /D.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: D##static(){}kotlin.enums.EnumEntries + // Public signature: /D.entries.|-8713100694557477903[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: D{}name + // Public signature: /D.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.String + // Public signature: /D.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: D{}ordinal + // Public signature: /D.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract enum class E : Enum, Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#valueOf#static(kotlin.String){}E + // Public signature: /E.valueOf|-1984843552149141556[0] + // Public signature debug description: valueOf#static(kotlin.String){}E + fun valueOf(value: String): E + + // CHECK JVM_IR: + // Mangled name: E#values#static(){}kotlin.Array + // Public signature: /E.values|4921695905454219855[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: E#compareTo(E){}kotlin.Int + // Public signature: /E.compareTo|7895449182838894647[0] + // Public signature debug description: compareTo(E){}kotlin.Int + /* fake */ override operator fun compareTo(other: E): Int + + // CHECK JVM_IR: + // Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: E#foo(kotlin.Int?){} + // Public signature: /E.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + abstract /* fake */ override fun foo(i: Int?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Any?){} + // Public signature: /E.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + abstract /* fake */ override fun foo(i: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: E#hashCode(){}kotlin.Int + // Public signature: /E.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: E#toString(){}kotlin.String + // Public signature: /E.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: E#static{}entries + // Public signature: /E.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: E##static(){}kotlin.enums.EnumEntries + // Public signature: /E.entries.|2481970109947815388[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: E{}name + // Public signature: /E.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.String + // Public signature: /E.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: E{}ordinal + // Public signature: /E.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract enum class F : Enum, Java1, Java3 { + // CHECK: + // Mangled name: F.FIRST + // Public signature: /F.FIRST|null[0] + + FIRST + // CHECK: + // Mangled name: F.FIRST + // Public signature: /F.FIRST.|null[0] + private enum entry class FIRST : F { + // CHECK: + // Mangled name: F.FIRST#(){} + // Public signature: /F.FIRST..|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F.FIRST#compareTo(F){}kotlin.Int + // Public signature: /F.FIRST..compareTo|8482488056118718078[0] + // Public signature debug description: compareTo(F){}kotlin.Int + /* fake */ override operator fun compareTo(other: F): Int + + // CHECK JVM_IR: + // Mangled name: F.FIRST#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.FIRST..equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F.FIRST#foo(kotlin.Any){} + // Public signature: /F.FIRST..foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + /* fake */ override fun foo(i: Any): Unit + + // CHECK JVM_IR: + // Mangled name: F.FIRST#hashCode(){}kotlin.Int + // Public signature: /F.FIRST..hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F.FIRST#toString(){}kotlin.String + // Public signature: /F.FIRST..toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: F.FIRST#foo(kotlin.Int?){} + // Public signature: /F.FIRST..foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(i: Int?): Unit + + // CHECK: + // Mangled name: F.FIRST{}name + // Public signature: /F.FIRST..name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: F.FIRST#(){}kotlin.String + // Public signature: /F.FIRST..name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: F.FIRST{}ordinal + // Public signature: /F.FIRST..ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: F.FIRST#(){}kotlin.Int + // Public signature: /F.FIRST..ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + } + + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#valueOf#static(kotlin.String){}F + // Public signature: /F.valueOf|-6931713965736321469[0] + // Public signature debug description: valueOf#static(kotlin.String){}F + fun valueOf(value: String): F + + // CHECK JVM_IR: + // Mangled name: F#values#static(){}kotlin.Array + // Public signature: /F.values|-1565934500474862562[0] + // Public signature debug description: values#static(){}kotlin.Array + fun values(): Array + + // CHECK JVM_IR: + // Mangled name: F#compareTo(F){}kotlin.Int + // Public signature: /F.compareTo|8482488056118718078[0] + // Public signature debug description: compareTo(F){}kotlin.Int + /* fake */ override operator fun compareTo(other: F): Int + + // CHECK JVM_IR: + // Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.equals|722809408929142791[0] + // Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean + /* fake */ override operator fun equals(other: Any?): Boolean + + // CHECK: + // Mangled name: F#foo(kotlin.Int?){} + // Public signature: /F.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + abstract /* fake */ override fun foo(i: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: F#hashCode(){}kotlin.Int + // Public signature: /F.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: F#toString(){}kotlin.String + // Public signature: /F.toString|6958853723545266802[0] + // Public signature debug description: toString(){}kotlin.String + /* fake */ override fun toString(): String + + // CHECK: + // Mangled name: F#foo(kotlin.Any){} + // Public signature: /F.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(i: Any): Unit + + // CHECK: + // Mangled name: F#static{}entries + // Public signature: /F.entries|-5134227801081826149[0] + // Public signature debug description: #static{}entries + val entries: EnumEntries + // CHECK JVM_IR: + // Mangled name: F##static(){}kotlin.enums.EnumEntries + // Public signature: /F.entries.|-1289951778607473126[0] + // Public signature debug description: #static(){}kotlin.enums.EnumEntries + get(): EnumEntries + + // CHECK: + // Mangled name: F{}name + // Public signature: /F.name|4231860309499509769[0] + // Public signature debug description: {}name + /* fake */ override val name: String + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.String + // Public signature: /F.name.|-8006111524522882650[0] + // Public signature debug description: (){}kotlin.String + /* fake */ override get(): String + + // CHECK: + // Mangled name: F{}ordinal + // Public signature: /F.ordinal|1912745122988592376[0] + // Public signature debug description: {}ordinal + /* fake */ override val ordinal: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.ordinal.|-6902664390061762634[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(i: Int): Unit + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.ir.txt new file mode 100644 index 00000000000..5fea1cc315f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.ir.txt @@ -0,0 +1,350 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java4]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public abstract c: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'c: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:d visibility:public modality:OPEN [val] + overridden: + public abstract d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'd: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int + VALUE_PARAMETER name:c index:2 type:kotlin.Int + VALUE_PARAMETER name:d index:3 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:c visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:d visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.kt.txt new file mode 100644 index 00000000000..4e6a00f9f65 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.fir.kt.txt @@ -0,0 +1,120 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java1, Java4 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class E : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface { + override val a: Int + field = a + override get + + override val b: Int + field = b + override get + + override val c: Int + field = c + override get + + override val d: Int + field = d + override get + + constructor(a: Int, b: Int, c: Int, d: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract val a: Int + abstract get + + abstract val b: Int + abstract get + + abstract val c: Int + abstract get + + abstract val d: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.#a /*~> Unit */ + a.#b /*~> Unit */ + a.#c /*~> Unit */ + a.#d /*~> Unit */ + b.#a /*~> Unit */ + b.#b /*~> Unit */ + b.#c /*~> Unit */ + b.#d /*~> Unit */ + c.#a /*~> Unit */ + c.#b /*~> Unit */ + c.#c /*~> Unit */ + c.#d /*~> Unit */ + d.#a /*~> Unit */ + d.#b /*~> Unit */ + d.#c /*~> Unit */ + d.#d /*~> Unit */ + e.#a /*~> Unit */ + e.#b /*~> Unit */ + e.#c /*~> Unit */ + e.#d /*~> Unit */ + f.() /*~> Unit */ + f.() /*~> Unit */ + f.() /*~> Unit */ + f.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.ir.txt new file mode 100644 index 00000000000..4b512b6414b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.ir.txt @@ -0,0 +1,434 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java4]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public abstract c: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'c: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:d visibility:public modality:OPEN [val] + overridden: + public abstract d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'd: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int, b:kotlin.Int, c:kotlin.Int, d:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Int + VALUE_PARAMETER name:c index:2 type:kotlin.Int + VALUE_PARAMETER name:d index:3 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,val] + overridden: + public final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,val] + overridden: + public final d: kotlin.Int + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:c visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:d visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt new file mode 100644 index 00000000000..6b86ca23ef9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt @@ -0,0 +1,82 @@ +// TARGET_BACKEND: JVM +// FULL_JDK + +// FILE: Java1.java +public class Java1 { + public transient int a = 10; + public volatile int b = 11; + public final int c = 12; + public final transient int d = 13; +} + +// FILE: Java2.java +public class Java2 extends KotlinClass { } + +// FILE: Java3.java +public class Java3 extends KotlinClass { + public int a = 1; + public int b = 2; + public int c = 3; + public int d = 4; +} + +// FILE: Java4.java +public interface Java4 { + public int a = 1; + public int b = 2; + public int c = 3; + public int d = 4; +} + +// FILE: 1.kt + +class A : Java1() //Kotlin ← Java + +class B : Java2() //Kotlin ← Java ← Kotlin ← Java + +class C : Java3() //Kotlin ← Java ← Kotlin ← Java with explicit override in java + +class D : Java1(), Java4 //Kotlin ← Java1, Java2 + +abstract class E : Java1(), KotlinInterface //Kotlin ← Java1, Kotlin2 + +class F(override val a: Int, + override val b: Int, + override val c: Int, + override val d: Int) : Java1(), KotlinInterface //Kotlin ← Java1, Kotlin2 with explicit override + +open class KotlinClass : Java1() + +interface KotlinInterface { + val a: Int + val b: Int + val c: Int + val d: Int +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.a + a.b + a.c + a.d + b.a + b.b + b.c + b.d + c.a + c.b + c.c + c.d + d.a + d.b + d.c + d.d + e.a + e.b + e.c + e.d + f.a + f.b + f.c + f.d +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt.txt new file mode 100644 index 00000000000..7f8f4d24b6e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt.txt @@ -0,0 +1,120 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java1, Java4 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class E : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface { + override val a: Int + field = a + override get + + override val b: Int + field = b + override get + + override val c: Int + field = c + override get + + override val d: Int + field = d + override get + + constructor(a: Int, b: Int, c: Int, d: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract val a: Int + abstract get + + abstract val b: Int + abstract get + + abstract val c: Int + abstract get + + abstract val d: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a(super).#a /*~> Unit */ + a(super).#b /*~> Unit */ + a(super).#c /*~> Unit */ + a(super).#d /*~> Unit */ + b(super).#a /*~> Unit */ + b(super).#b /*~> Unit */ + b(super).#c /*~> Unit */ + b(super).#d /*~> Unit */ + c(super).#a /*~> Unit */ + c(super).#b /*~> Unit */ + c(super).#c /*~> Unit */ + c(super).#d /*~> Unit */ + d(super).#a /*~> Unit */ + d(super).#b /*~> Unit */ + d(super).#c /*~> Unit */ + d(super).#d /*~> Unit */ + e(super).#a /*~> Unit */ + e(super).#b /*~> Unit */ + e(super).#c /*~> Unit */ + e(super).#d /*~> Unit */ + f(super).#a /*~> Unit */ + f(super).#b /*~> Unit */ + f(super).#c /*~> Unit */ + f(super).#d /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..b545a2285c9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.sig.kt.txt @@ -0,0 +1,227 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java4 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}b + // Public signature: /E.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override val b: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}c + // Public signature: /E.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract /* fake */ override val c: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}d + // Public signature: /E.d|5174763769109925331[0] + // Public signature debug description: {}d + abstract /* fake */ override val d: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F{}b + // Public signature: /F.b|772347207915745207[0] + // Public signature debug description: {}b + override val b: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F{}c + // Public signature: /F.c|-4416962153448040627[0] + // Public signature debug description: {}c + override val c: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F{}d + // Public signature: /F.d|5174763769109925331[0] + // Public signature debug description: {}d + override val d: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){} + // Public signature: /F.|-8848599841094497990[0] + // Public signature debug description: (kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){} + constructor(a: Int, b: Int, c: Int, d: Int) /* primary */ + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}c + // Public signature: /KotlinInterface.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract val c: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + abstract get + + // CHECK: + // Mangled name: KotlinInterface{}d + // Public signature: /KotlinInterface.d|5174763769109925331[0] + // Public signature debug description: {}d + abstract val d: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.ir.txt new file mode 100644 index 00000000000..471b39750b6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.ir.txt @@ -0,0 +1,249 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Number declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public' type=kotlin.Number origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Number declared in .A.' type=kotlin.Number origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.Companion + CONSTRUCTOR visibility:private <> () returnType:.A.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.A.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A.Companion declared in .A.Companion.' type=.A.Companion origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java2]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .A + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.A; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.A; .Java3]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .A + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + public abstract b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .A + public abstract fun (): kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .A + public abstract fun (: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY name:b visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Number + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Number) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Number + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=3 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .B' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .C' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=2 + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=7 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .D' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.kt.txt new file mode 100644 index 00000000000..9865981d845 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.fir.kt.txt @@ -0,0 +1,74 @@ +open class A { + lateinit var b: Number + get + set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + const val a: Int + field = 0 + get + + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +abstract class D : A, Java3 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract var a: Int + abstract get + abstract set + + abstract var b: Number + abstract get + abstract set + +} + +fun test(b: B, c: C, d: D) { + b.( = 3) + b.() /*~> Unit */ + c.( = 4) + c.() /*~> Unit */ + d.( = 2) + d.( = 7) + d.() /*~> Unit */ + d.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.ir.txt new file mode 100644 index 00000000000..ad365f3e9a2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.ir.txt @@ -0,0 +1,249 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Number declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public' type=kotlin.Number origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [lateinit,var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Number visibility:public' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Number declared in .A.' type=kotlin.Number origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.Companion + CONSTRUCTOR visibility:private <> () returnType:.A.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.A.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A.Companion declared in .A.Companion.' type=.A.Companion origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java2]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .A + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.A; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.A; .Java3]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .A + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final b: kotlin.Number + public abstract b: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (): kotlin.Number declared in .A + public abstract fun (): kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Number) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [lateinit,fake_override,var] + overridden: + public final fun (: kotlin.Number): kotlin.Unit declared in .A + public abstract fun (: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Number + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY name:b visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Number + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Number) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Number + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=3 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .B' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .C' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=2 + CALL 'public final fun (: kotlin.Number): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=7 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Number declared in .D' type=kotlin.Number origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt new file mode 100644 index 00000000000..d0e34698280 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt @@ -0,0 +1,44 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 extends A { } + +// FILE: Java2.java +public interface Java2 { + Number b = 5; + Integer a = 1; +} + +// FILE: Java3.java +public interface Java3 extends KotlinInterface { } + +// FILE: 1.kt +open class A { + companion object { + const val a = 0; + } + + lateinit var b: Number +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : A(), Java2 //Kotlin ← Java, Kotlin2 + +abstract class D : A(), Java3 //Kotlin ← Java, Kotlin2 ← Kotlin3 + +interface KotlinInterface { + var a: Int + var b: Number +} + +fun test(b: B, c: C, d: D){ + b.b = 3 + b.b + c.b = 4 + c.b + d.a = 2 + d.b = 7 + d.a + d.b +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt.txt new file mode 100644 index 00000000000..9865981d845 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt.txt @@ -0,0 +1,74 @@ +open class A { + lateinit var b: Number + get + set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + const val a: Int + field = 0 + get + + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +abstract class D : A, Java3 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract var a: Int + abstract get + abstract set + + abstract var b: Number + abstract get + abstract set + +} + +fun test(b: B, c: C, d: D) { + b.( = 3) + b.() /*~> Unit */ + c.( = 4) + c.() /*~> Unit */ + d.( = 2) + d.( = 7) + d.() /*~> Unit */ + d.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..82f44bb8767 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.sig.kt.txt @@ -0,0 +1,194 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + lateinit var b: Number + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Number + // Public signature: /A.b.|2675477957877241625[0] + // Public signature debug description: (){}kotlin.Number + get + // CHECK: + // Mangled name: A#(kotlin.Number){} + // Public signature: /A.b.|-4740975933989306688[0] + // Public signature debug description: (kotlin.Number){} + set + + // CHECK: + // Mangled name: A.Companion + // Public signature: /A.Companion|null[0] + companion object Companion { + // CHECK: + // Mangled name: A.Companion#(){} + // Public signature: /A.Companion.|-5645683436151566731[0] + // Public signature debug description: (){} + private constructor() /* primary */ + + // CHECK: + // Mangled name: A.Companion{}a + // Public signature: /A.Companion.a|-1200697420457237799[0] + // Public signature debug description: {}a + const val a: Int + // CHECK JVM_IR: + // Mangled name: A.Companion#(){}kotlin.Int + // Public signature: /A.Companion.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + } + + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override lateinit var b: Number + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Number + // Public signature: /B.b.|2675477957877241625[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + // CHECK: + // Mangled name: B#(kotlin.Number){} + // Public signature: /B.b.|-4740975933989306688[0] + // Public signature debug description: (kotlin.Number){} + /* fake */ override set(: Number): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : A, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override lateinit var b: Number + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Number + // Public signature: /C.b.|2675477957877241625[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + // CHECK: + // Mangled name: C#(kotlin.Number){} + // Public signature: /C.b.|-4740975933989306688[0] + // Public signature debug description: (kotlin.Number){} + /* fake */ override set(: Number): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : A, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override lateinit var b: Number + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Number + // Public signature: /D.b.|2675477957877241625[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + // CHECK: + // Mangled name: D#(kotlin.Number){} + // Public signature: /D.b.|-4740975933989306688[0] + // Public signature debug description: (kotlin.Number){} + /* fake */ override set(: Number): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract var b: Number + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Number + // Public signature: /KotlinInterface.b.|2675477957877241625[0] + // Public signature debug description: (){}kotlin.Number + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Number){} + // Public signature: /KotlinInterface.b.|-4740975933989306688[0] + // Public signature debug description: (kotlin.Number){} + abstract set + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-8823403443617116000[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.ir.txt new file mode 100644 index 00000000000..72d4dec24e4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.ir.txt @@ -0,0 +1,138 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar? + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Int? origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.Any? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Any? origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Nothing? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Nothing? origin=null + : kotlin.Nothing + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.kt.txt new file mode 100644 index 00000000000..c53c8422e80 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.fir.kt.txt @@ -0,0 +1,42 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T?) { + } + +} + +fun test(a: A, b: B) { + val k: Int = a.bar<@FlexibleNullability Int?>() /*!! Int */ + val k2: Int? = a.bar<@FlexibleNullability Int?>() + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + val k4: Nothing = a.bar<@FlexibleNullability Nothing?>() /*!! Nothing */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo<@FlexibleNullability Nothing?>(a = null) + a.foo(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k7: Any? = b.bar() + val k8: Nothing? = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.ir.txt new file mode 100644 index 00000000000..0c03c7be1a1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.ir.txt @@ -0,0 +1,138 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar? + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Int? origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.Any? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Any? origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Nothing? [val] + CALL 'public open fun bar (): T of .B.bar? declared in .B' type=kotlin.Nothing? origin=null + : kotlin.Nothing + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt new file mode 100644 index 00000000000..d9d7ee4993a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt @@ -0,0 +1,41 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +public class Java1 { + public void foo(T a) { } + public T bar() { + return null; + } +} + +// FILE: 1.kt + +class A : Java1() + +class B : Java1() { + override fun foo(a: T?) { } + override fun bar(): T? { + return null!! + } +} + +fun test(a: A, b: B) { + val k: Int = a.bar() + val k2: Int? = a.bar() + val k3: Any = a.bar() + val k4: Nothing = a.bar() + a.foo(1) + a.foo(null) + a.foo(null) + a.foo(listOf(null)) + + val k5: Int? = b.bar() + val k7: Any? = b.bar() + val k8: Nothing? = b.bar() + b.foo(1) + b.foo(null) + b.foo(null) + b.foo(listOf(null)) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt.txt new file mode 100644 index 00000000000..1171a4406f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt.txt @@ -0,0 +1,42 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T? { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T?) { + } + +} + +fun test(a: A, b: B) { + val k: Int = a.bar<@FlexibleNullability Int?>() /*!! Int */ + val k2: Int? = a.bar() + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + val k4: Nothing = a.bar<@FlexibleNullability Nothing?>() /*!! Nothing */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo(a = null) + a.foo<@FlexibleNullability Int?>(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k7: Any? = b.bar() + val k8: Nothing? = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.sig.kt.txt new file mode 100644 index 00000000000..ad8b6ba1fd4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.sig.kt.txt @@ -0,0 +1,53 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){0§}0:0? + // Public signature: /A.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: A#foo(0:0?){0§} + // Public signature: /A.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){0§}0:0? + // Public signature: /B.bar|-6715045277140170414[0] + // Public signature debug description: bar(){0§}0:0? + override fun bar(): T? + + // CHECK: + // Mangled name: B#foo(0:0?){0§} + // Public signature: /B.foo|182402834467927776[0] + // Public signature debug description: foo(0:0?){0§} + override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.ir.txt new file mode 100644 index 00000000000..014f665adee --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.ir.txt @@ -0,0 +1,246 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Double?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Double? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Double + overridden: + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Double declared in .D' + CONST Double type=kotlin.Double value=1.1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Double) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Double + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.Java3) returnType:@[FlexibleNullability] U of .E.bar? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] U of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Number?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.Java3, a:@[FlexibleNullability] U of .E.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] U of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Number?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] U of .E.foo? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.F) returnType:U of .F.bar + overridden: + public abstract fun bar (): @[FlexibleNullability] U of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): U of .F.bar declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.F, a:U of .F.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] U of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:U of .F.foo + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): @[FlexibleNullability] kotlin.Double? declared in .C' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Double): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Double declared in .D' type=kotlin.Double origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] U of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): @[FlexibleNullability] U of .E.bar? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: U of .F.foo): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : kotlin.Double + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Double type=kotlin.Double value=2.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): U of .F.bar declared in .F' type=kotlin.Double origin=null + : kotlin.Double + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.kt.txt new file mode 100644 index 00000000000..e28158dab96 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.fir.kt.txt @@ -0,0 +1,92 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Double { + return 1.1 + } + + override fun foo(t: Double) { + } + +} + +abstract class E : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): U { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: U) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(t = null) + a.foo(t = 1) + a.bar() /*~> Unit */ + b.foo(t = null) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1.1) + c.bar() /*~> Unit */ + d.foo(t = 1.1) + d.bar() /*~> Unit */ + e.foo<@FlexibleNullability Int?>(a = 1) + e.bar() /*~> Unit */ + f.foo(a = 2.2) + f.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.ir.txt new file mode 100644 index 00000000000..db646f76332 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.ir.txt @@ -0,0 +1,246 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Double?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Double? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Double + overridden: + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Double declared in .D' + CONST Double type=kotlin.Double value=1.1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Double) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Double + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.Java3) returnType:@[FlexibleNullability] U of .E.bar? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] U of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Number?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.Java3, a:@[FlexibleNullability] U of .E.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] U of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Number?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] U of .E.foo? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.F) returnType:U of .F.bar + overridden: + public abstract fun bar (): @[FlexibleNullability] U of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): U of .F.bar declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.F, a:U of .F.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] U of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:U of .F.foo + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): @[FlexibleNullability] kotlin.Double? declared in .C' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Double): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Double declared in .D' type=kotlin.Double origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] U of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): @[FlexibleNullability] U of .E.bar? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: U of .F.foo): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : kotlin.Double + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Double type=kotlin.Double value=2.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): U of .F.bar declared in .F' type=kotlin.Double origin=null + : kotlin.Double + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt new file mode 100644 index 00000000000..5f60e3f625e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt @@ -0,0 +1,67 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(T t) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public interface Java2 { + public void foo(T t); + public T bar(); +} + +// FILE: Java3.java +public interface Java3 { + void foo(U a); + U bar(); +} + +// FILE: 1.kt +class A: Java1() + +class B : Java1() { + override fun bar(): Int { + return 1 + } + override fun foo(t: Int?) {} +} + +abstract class C : Java2 + +class D : Java2 { + override fun foo(t: Double) { } + override fun bar(): Double { + return 1.1 + } +} + +abstract class E : Java3 + +class F : Java3 { + override fun foo(a: U) { } + override fun bar(): U { + return null!! + } +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(null) + a.foo(1) + a.bar() + b.foo(null) + b.foo(1) + b.bar() + c.foo(null) + c.foo(1.1) + c.bar() + d.foo(1.1) + d.bar() + e.foo(1) + e.bar() + f.foo(2.2) + f.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt.txt new file mode 100644 index 00000000000..8d565c0ea3f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt.txt @@ -0,0 +1,92 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Double { + return 1.1 + } + + override fun foo(t: Double) { + } + +} + +abstract class E : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): U { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: U) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(t = null) + a.foo(t = 1) + a.bar() /*~> Unit */ + b.foo(t = null) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1.1) + c.bar() /*~> Unit */ + d.foo(t = 1.1) + d.bar() /*~> Unit */ + e.foo<@FlexibleNullability Int?>(a = 1) + e.bar<@FlexibleNullability Int?>() /*~> Unit */ + f.foo(a = 2.2) + f.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.sig.kt.txt new file mode 100644 index 00000000000..60d781075b4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.sig.kt.txt @@ -0,0 +1,149 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int? + // Public signature: /A.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: A#foo(kotlin.Int?){} + // Public signature: /A.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Double? + // Public signature: /C.bar|-682592564869870715[0] + // Public signature debug description: bar(){}kotlin.Double? + abstract /* fake */ override fun bar(): Double? + + // CHECK: + // Mangled name: C#foo(kotlin.Double?){} + // Public signature: /C.foo|6411712553578757001[0] + // Public signature debug description: foo(kotlin.Double?){} + abstract /* fake */ override fun foo(t: Double?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Double + // Public signature: /D.bar|1575612569485417103[0] + // Public signature debug description: bar(){}kotlin.Double + override fun bar(): Double + + // CHECK: + // Mangled name: D#foo(kotlin.Double){} + // Public signature: /D.foo|7304084990235995798[0] + // Public signature debug description: foo(kotlin.Double){} + override fun foo(t: Double): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){0§}0:0? + // Public signature: /E.bar|-8005972261054538665[0] + // Public signature debug description: bar(){0§}0:0? + abstract /* fake */ override fun bar(): U? + + // CHECK: + // Mangled name: E#foo(0:0?){0§} + // Public signature: /E.foo|-2766865864258916434[0] + // Public signature debug description: foo(0:0?){0§} + abstract /* fake */ override fun foo(a: U?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){0§}0:0 + // Public signature: /F.bar|-7641096877409049164[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): U + + // CHECK: + // Mangled name: F#foo(0:0){0§} + // Public signature: /F.foo|-917731394899076103[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: U): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.ir.txt new file mode 100644 index 00000000000..66d098d6ade --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.ir.txt @@ -0,0 +1,127 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.List<*>?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*>? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.List<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.List<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.kt.txt new file mode 100644 index 00000000000..68993050eae --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.fir.kt.txt @@ -0,0 +1,46 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>?) { + } + +} + +fun test(a: A, b: B, c: C) { + val k: List = a.bar() /*!! @FlexibleMutability @RawType MutableList */ + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k2: List = b.bar() + b.foo(a = mutableListOf(elements = [null])) + c.foo(a = null) + c.foo(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.ir.txt new file mode 100644 index 00000000000..305741f188a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.ir.txt @@ -0,0 +1,136 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.List<*>?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*>? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<*> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<*> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.List<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.List<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt new file mode 100644 index 00000000000..27668c4f26f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt @@ -0,0 +1,37 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; + +public class Java1 { + public List a = new ArrayList(); + public void foo(List a) {}; + public List bar() { return null; }; +} + +// FILE: 1.kt + +class A : Java1() + +class B : Java1() { + override fun bar(): MutableList { + return null!! + } + override fun foo(a: MutableList) { } +} + +class C : Java1() { + override fun foo(a: List<*>?) { } +} + +fun test(a: A, b: B, c: C){ + val k: List = a.bar() + a.foo(null) + a.foo(mutableListOf(null)) + val k2: List = b.bar() + b.foo(mutableListOf(null)) + c.foo(null) + c.foo(listOf(null)) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt.txt new file mode 100644 index 00000000000..8bf92b71c48 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt.txt @@ -0,0 +1,46 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>?) { + } + +} + +fun test(a: A, b: B, c: C) { + val k: List = a.bar() /*!! List<*> */ + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k2: List = b.bar() + b.foo(a = mutableListOf(elements = [null])) + c.foo(a = null) + c.foo(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.sig.kt.txt new file mode 100644 index 00000000000..458b99fad78 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.sig.kt.txt @@ -0,0 +1,77 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|5265202103876197513[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList){} + // Public signature: /B.foo|-988911284811620369[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList? + // Public signature: /C.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: C#foo(kotlin.collections.List<*>?){} + // Public signature: /C.foo|-5641538526074590102[0] + // Public signature debug description: foo(kotlin.collections.List<*>?){} + override fun foo(a: List<*>?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.ir.txt new file mode 100644 index 00000000000..a0944e9569f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.ir.txt @@ -0,0 +1,220 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList<*> + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList<*>?) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*>? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.kt.txt new file mode 100644 index 00000000000..383ae37451f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.fir.kt.txt @@ -0,0 +1,65 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): MutableList<*> { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList?) { + } + + override fun foo2(a: MutableList?) { + } + + override fun foo3(a: MutableList<*>?) { + } + +} + +fun test(a: A, b: B) { + a.foo(a = null) + a.foo(a = mutableListOf<@FlexibleNullability Number?>(elements = [null])) + a.foo(a = listOf(element = 1)) + a.bar() /*~> Unit */ + a.foo2(a = null) + a.foo2(a = mutableListOf(elements = [null])) + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + a.bar2() /*~> Unit */ + a.foo3(a = null) + a.foo3(a = mutableListOf(elements = [null])) + a.foo3(a = listOf(element = null)) + a.foo3(a = listOf(element = "")) + a.bar3() /*~> Unit */ + b.foo(a = null) + b.foo(a = mutableListOf(elements = [1])) + b.bar() /*~> Unit */ + b.foo2(a = null) + b.foo2(a = mutableListOf(elements = [null])) + b.foo2(a = mutableListOf(elements = [1.1])) + b.bar2() /*~> Unit */ + b.foo3(a = null) + b.foo3(a = mutableListOf(elements = [null])) + b.foo3(a = mutableListOf(elements = [""])) + b.bar3() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.ir.txt new file mode 100644 index 00000000000..a23bd6d57a8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.ir.txt @@ -0,0 +1,220 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList<*> + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList<*>?) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*>? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt new file mode 100644 index 00000000000..8e5ce1303c9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt @@ -0,0 +1,69 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; + +public class Java1 { + public void foo(List a) { } + public List bar(){ + return null; + } + public void foo2(List a) { } + public List bar2(){ + return null; + } + + public void foo3(List a) {} + public List bar3(){ + return null; + } +} + +// FILE: test.kt +class A : Java1() + +class B: Java1(){ + override fun foo(a: MutableList?) { } + override fun bar(): MutableList { + return null!! + } + + override fun foo2(a: MutableList?) { } + override fun bar2(): MutableList { + return null!! + } + + override fun foo3(a: MutableList<*>?) { } + override fun bar3(): MutableList<*> { + return null!! + } +} + +fun test(a: A, b: B){ + a.foo(null) + a.foo(mutableListOf(null)) + a.foo(listOf(1)) + a.bar() + a.foo2(null) + a.foo2(mutableListOf(null)) + a.foo2(mutableListOf(1.1)) + a.bar2() + a.foo3(null) + a.foo3(mutableListOf(null)) + a.foo3(listOf(null)) + a.foo3(listOf("")) + a.bar3() + b.foo(null) + b.foo(mutableListOf(1)) + b.bar() + b.foo2(null) + b.foo2(mutableListOf(null)) + b.foo2(mutableListOf(1.1)) + b.bar2() + b.foo3(null) + b.foo3(mutableListOf(null)) + b.foo3(mutableListOf("")) + b.bar3() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt.txt new file mode 100644 index 00000000000..1c33882238f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt.txt @@ -0,0 +1,65 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): MutableList<*> { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList?) { + } + + override fun foo2(a: MutableList?) { + } + + override fun foo3(a: MutableList<*>?) { + } + +} + +fun test(a: A, b: B) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + a.foo(a = listOf(element = 1)) + a.bar() /*~> Unit */ + a.foo2(a = null) + a.foo2(a = mutableListOf(elements = [null])) + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + a.bar2() /*~> Unit */ + a.foo3(a = null) + a.foo3(a = mutableListOf(elements = [null])) + a.foo3(a = listOf(element = null)) + a.foo3(a = listOf(element = "")) + a.bar3() /*~> Unit */ + b.foo(a = null) + b.foo(a = mutableListOf(elements = [1])) + b.bar() /*~> Unit */ + b.foo2(a = null) + b.foo2(a = mutableListOf(elements = [null])) + b.foo2(a = mutableListOf(elements = [1.1])) + b.bar2() /*~> Unit */ + b.foo3(a = null) + b.foo3(a = mutableListOf(elements = [null])) + b.foo3(a = mutableListOf(elements = [""])) + b.bar3() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.sig.kt.txt new file mode 100644 index 00000000000..b42178f0f24 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.sig.kt.txt @@ -0,0 +1,101 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.collections.MutableList? + // Public signature: /A.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /A.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.collections.MutableList?){} + // Public signature: /A.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /A.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.collections.MutableList + // Public signature: /B.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /B.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|-2620750387552673463[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.collections.MutableList?){} + // Public signature: /B.foo2|9211158728843324018[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /B.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..30dc9e94b2f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,783 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .A.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .C.bar [fake_override] + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .C.bar [fake_override] + overridden: + public abstract fun bar (): T of .KotlinInterface2.bar declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .C.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .C.foo + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface2, a:T of .C.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .KotlinInterface2.foo): kotlin.Unit declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:T of .C.foo + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .D.bar [fake_override] + overridden: + public abstract fun bar (): T of .KotlinInterface2.bar declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .KotlinInterface2.foo): kotlin.Unit declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.D] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .D' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.D]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .E.bar [fake_override] + overridden: + public open fun bar (): T of .D.bar declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + 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 .D + $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:.D, a:T of .E.foo) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .E.foo + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN ($this:.D, a:T of .E.foo) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .E.foo + 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 .D + $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 .D + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.E) returnType:T of .E.bar + overridden: + public abstract fun bar (): T of .D.bar declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .E.bar declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .F.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass.bar? declared in .KotlinClass + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .F.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .KotlinClass.foo?): kotlin.Unit declared in .KotlinClass + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .F.foo? + 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2]' + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .G.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .KotlinClass.foo?): kotlin.Unit declared in .KotlinClass + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .G.foo? + 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.G) returnType:T of .G.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass.bar? declared in .KotlinClass + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .G.bar declared in .G' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java3; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .H.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java3, a:@[FlexibleNullability] T of .H.foo?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .H.foo? + 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 .Java3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java3; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .I.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN ($this:.I, a:T of .I.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:a index:0 type:T of .I.foo + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .J.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java4.bar? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java4 + $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:.Java1, a:@[FlexibleNullability] T of .J.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java4.foo?): kotlin.Unit declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .J.foo? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .KotlinClass.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] T of .KotlinClass.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .KotlinClass.foo? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .L.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java4.bar? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN ($this:.L, a:T of .L.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java4.foo?): kotlin.Unit declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:a index:0 type:T of .L.foo + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .KotlinInterface2.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface2, a:T of .KotlinInterface2.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface2.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:l index:10 type:.L + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public open fun bar (): T of .A.bar declared in .A' type=kotlin.Int origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .A.bar declared in .A' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public abstract fun bar (): T of .C.bar declared in .C' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + CALL 'public abstract fun bar (): T of .C.bar declared in .C' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k12 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k14 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .G.bar declared in .G' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k16 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .G.bar declared in .G' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .H.bar declared in .H' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k18 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .H.bar declared in .H' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k19 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .I.bar declared in .I' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k20 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .I.bar declared in .I' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .J.bar? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k22 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .J.bar? declared in .J' type=@[FlexibleNullability] kotlin.Any? origin=null + : kotlin.Any + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .L.foo): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .L.bar? declared in .L' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..7b525a19b51 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,217 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +abstract class C : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + + override fun foo(a: T) { + } + +} + +class E : D { + constructor() /* primary */ { + super/*D*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class F : KotlinClass, Java2 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + +} + +class G : KotlinClass, Java2 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class H : Java3, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class I : Java3, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo(a: T) { + } + +} + +class J : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class L : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo(a: T) { + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +interface KotlinInterface2 { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo<@FlexibleNullability Nothing?>(a = null) + a.foo(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(a = 1) + c.foo(a = null) + c.foo(a = null) + c.foo>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) + val k11: Int? = e.bar() + val k12: Any = e.bar() + e.foo(a = 1) + e.foo(a = null) + e.foo(a = null) + e.foo>(a = listOf(element = null)) + val k13: Int? = f.bar() + val k14: Any = f.bar() + f.foo<@FlexibleNullability Int?>(a = 1) + f.foo<@FlexibleNullability Nothing?>(a = null) + f.foo(a = null) + f.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k15: Int? = g.bar() + val k16: Any = g.bar() + g.foo<@FlexibleNullability Int?>(a = 1) + g.foo<@FlexibleNullability Nothing?>(a = null) + g.foo(a = null) + g.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k17: Int? = h.bar() + val k18: Any = h.bar() + h.foo<@FlexibleNullability Int?>(a = 1) + h.foo<@FlexibleNullability Nothing?>(a = null) + h.foo(a = null) + h.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k19: Int? = i.bar() + val k20: Any = i.bar() + i.foo(a = 1) + i.foo(a = null) + i.foo(a = null) + i.foo>(a = listOf(element = null)) + val k21: Int? = j.bar() + val k22: Any = j.bar() /*!! Any */ + j.foo<@FlexibleNullability Int?>(a = 1) + j.foo<@FlexibleNullability Nothing?>(a = null) + j.foo(a = null) + j.foo<@FlexibleNullability List?>(a = listOf(element = null)) + l.foo(a = 1) + l.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..00720596a5f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,783 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .A.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .C.bar [fake_override] + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .C.bar [fake_override] + overridden: + public abstract fun bar (): T of .KotlinInterface2.bar declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .C.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .C.foo + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface2, a:T of .C.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .KotlinInterface2.foo): kotlin.Unit declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:T of .C.foo + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .D.bar [fake_override] + overridden: + public abstract fun bar (): T of .KotlinInterface2.bar declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .KotlinInterface2.foo): kotlin.Unit declared in .KotlinInterface2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.D] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .D' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.D]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .E.bar [fake_override] + overridden: + public open fun bar (): T of .D.bar declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + 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 .D + $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:.D, a:T of .E.foo) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .E.foo + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN ($this:.D, a:T of .E.foo) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .E.foo + 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 .D + $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 .D + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.E) returnType:T of .E.bar + overridden: + public abstract fun bar (): T of .D.bar declared in .D + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .E.bar declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .F.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass.bar? declared in .KotlinClass + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .F.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .KotlinClass.foo?): kotlin.Unit declared in .KotlinClass + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .F.foo? + 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.KotlinClass; .Java2]' + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .G.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .KotlinClass.foo?): kotlin.Unit declared in .KotlinClass + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .G.foo? + 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.G) returnType:T of .G.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass.bar? declared in .KotlinClass + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .G.bar declared in .G' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java3; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .H.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java3, a:@[FlexibleNullability] T of .H.foo?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .H.foo? + 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 .Java3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java3; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .I.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN ($this:.I, a:T of .I.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:a index:0 type:T of .I.foo + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .J.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java4.bar? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java4 + $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:.Java1, a:@[FlexibleNullability] T of .J.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java4.foo?): kotlin.Unit declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .J.foo? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .KotlinClass.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] T of .KotlinClass.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .KotlinClass.foo? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .L.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java4.bar? declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN ($this:.L, a:T of .L.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java4.foo?): kotlin.Unit declared in .Java4 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:a index:0 type:T of .L.foo + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface2) returnType:T of .KotlinInterface2.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface2, a:T of .KotlinInterface2.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface2.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:l index:10 type:.L + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public open fun bar (): T of .A.bar declared in .A' type=kotlin.Int origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .A.bar declared in .A' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public abstract fun bar (): T of .C.bar declared in .C' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + CALL 'public abstract fun bar (): T of .C.bar declared in .C' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k12 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .E.foo): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k14 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .G.bar declared in .G' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k16 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .G.bar declared in .G' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .G.foo?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .H.bar declared in .H' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k18 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .H.bar declared in .H' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .H.foo?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k19 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .I.bar declared in .I' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k20 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .I.bar declared in .I' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .I.foo): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .J.bar? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k22 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .J.bar? declared in .J' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .J.foo?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .L.foo): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + a: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .L.bar? declared in .L' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..2a02ab6bb04 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt @@ -0,0 +1,159 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +public class Java1 { + public void foo(T a) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: Java3.java +public class Java3 extends Java1 { + @Override + public void foo(T a) { } + @Override + public T bar() { + return null; + } +} + +// FILE: Java4.java +public class Java4 extends KotlinClass { } + +// FILE: 1.kt +class A : Java1(), Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class B : Java1(), Java2 { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +abstract class C: Java2, KotlinInterface2 //Kotlin ← Java, Kotlin2 ← Kotlin3 + +abstract class D : Java2, KotlinInterface2 { + override fun foo(a: T) { } + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +class E : D() { + override fun bar(): T { + return null!! + } +} + +class F : KotlinClass(), Java2 //Kotlin ← Java, Kotlin2 ← Java2, Kotlin3 + +class G : KotlinClass(), Java2 { + override fun bar(): T { + return null!! + } +} + +class H : Java3(), Java2 //Kotlin ← Java1, Java2 ← Java3, Kotlin2 + +class I : Java3(), Java2 { + override fun foo(a: T) { } +} + +class J : Java4() //Kotlin ← Java ← Kotlin ← Java + +class L : Java4() { + override fun foo(a: T) { } +} + +interface KotlinInterface { + fun foo(a: T) + fun bar(): T +} + +interface KotlinInterface2 { + fun foo(a: T) + fun bar(): T +} + +open class KotlinClass : Java1() + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l:L) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo(1) + a.foo(null) + a.foo(null) + a.foo(listOf(null)) + + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(1) + b.foo(null) + b.foo(null) + b.foo(listOf(null)) + + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(1) + c.foo(null) + c.foo(null) + c.foo(listOf(null)) + + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(1) + d.foo(null) + d.foo(null) + d.foo(listOf(null)) + + val k11: Int? = e.bar() + val k12: Any = e.bar() + e.foo(1) + e.foo(null) + e.foo(null) + e.foo(listOf(null)) + + val k13: Int? = f.bar() + val k14: Any = f.bar() + f.foo(1) + f.foo(null) + f.foo(null) + f.foo(listOf(null)) + + val k15: Int? = g.bar() + val k16: Any = g.bar() + g.foo(1) + g.foo(null) + g.foo(null) + g.foo(listOf(null)) + + val k17: Int? = h.bar() + val k18: Any = h.bar() + h.foo(1) + h.foo(null) + h.foo(null) + h.foo(listOf(null)) + + val k19: Int? = i.bar() + val k20: Any = i.bar() + i.foo(1) + i.foo(null) + i.foo(null) + i.foo(listOf(null)) + + val k21: Int? = j.bar() + val k22: Any = j.bar() + j.foo(1) + j.foo(null) + j.foo(null) + j.foo(listOf(null)) + + l.foo(1) + l.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..19538b4c8b1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,217 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +abstract class C : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + + override fun foo(a: T) { + } + +} + +class E : D { + constructor() /* primary */ { + super/*D*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class F : KotlinClass, Java2 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + +} + +class G : KotlinClass, Java2 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class H : Java3, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class I : Java3, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo(a: T) { + } + +} + +class J : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class L : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo(a: T) { + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +interface KotlinInterface2 { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo(a = null) + a.foo<@FlexibleNullability Int?>(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(a = 1) + c.foo(a = null) + c.foo(a = null) + c.foo>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) + val k11: Int? = e.bar() + val k12: Any = e.bar() + e.foo(a = 1) + e.foo(a = null) + e.foo(a = null) + e.foo>(a = listOf(element = null)) + val k13: Int? = f.bar() + val k14: Any = f.bar() + f.foo<@FlexibleNullability Int?>(a = 1) + f.foo(a = null) + f.foo<@FlexibleNullability Int?>(a = null) + f.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k15: Int? = g.bar() + val k16: Any = g.bar() + g.foo<@FlexibleNullability Int?>(a = 1) + g.foo(a = null) + g.foo<@FlexibleNullability Int?>(a = null) + g.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k17: Int? = h.bar() + val k18: Any = h.bar() + h.foo<@FlexibleNullability Int?>(a = 1) + h.foo(a = null) + h.foo<@FlexibleNullability Int?>(a = null) + h.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k19: Int? = i.bar() + val k20: Any = i.bar() + i.foo(a = 1) + i.foo(a = null) + i.foo(a = null) + i.foo>(a = listOf(element = null)) + val k21: Int? = j.bar<@FlexibleNullability Int?>() + val k22: Any = j.bar<@FlexibleNullability Any?>() /*!! Any */ + j.foo<@FlexibleNullability Int?>(a = 1) + j.foo(a = null) + j.foo<@FlexibleNullability Int?>(a = null) + j.foo<@FlexibleNullability List?>(a = listOf(element = null)) + l.foo(a = 1) + l.bar<@FlexibleNullability Int?>() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..eaa7be47a80 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,366 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){0§}0:0 + // Public signature: /A.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: A#foo(0:0?){0§} + // Public signature: /A.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){0§}0:0 + // Public signature: /B.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: B#foo(0:0){0§} + // Public signature: /B.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){0§}0:0 + // Public signature: /C.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + abstract /* fake */ override fun bar(): T + + // CHECK JVM_IR: + // Mangled name: C#bar(){0§}0:0 + // Public signature: /C.bar|-7641096877409049164[0] + // Public signature debug description: bar(){0§}0:0 + abstract /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: C#foo(0:0){0§} + // Public signature: /C.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + abstract /* fake */ override fun foo(a: T): Unit + + // CHECK: + // Mangled name: C#foo(0:0){0§} + // Public signature: /C.foo|-917731394899076103[0] + // Public signature debug description: foo(0:0){0§} + abstract /* fake */ override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){0§}0:0 + // Public signature: /D.bar|-7641096877409049164[0] + // Public signature debug description: bar(){0§}0:0 + abstract /* fake */ override fun bar(): T + + // CHECK JVM_IR: + // Mangled name: D#bar(){0§}0:0 + // Public signature: /D.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: D#foo(0:0){0§} + // Public signature: /D.foo|-917731394899076103[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + + // CHECK: + // Mangled name: D#foo(0:0){0§} + // Public signature: /D.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : D { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){0§}0:0 + // Public signature: /E.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: E#foo(0:0){0§} + // Public signature: /E.foo|-917731394899076103[0] + // Public signature debug description: foo(0:0){0§} + /* fake */ override fun foo(a: T): Unit + + // CHECK: + // Mangled name: E#foo(0:0){0§} + // Public signature: /E.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + /* fake */ override fun foo(a: T): Unit + + // CHECK JVM_IR: + // Mangled name: E#bar(){0§}0:0 + // Public signature: /E.bar|-7641096877409049164[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinClass, Java2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){0§}0:0 + // Public signature: /F.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: F#foo(0:0?){0§} + // Public signature: /F.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : KotlinClass, Java2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(0:0?){0§} + // Public signature: /G.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + + // CHECK JVM_IR: + // Mangled name: G#bar(){0§}0:0 + // Public signature: /G.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java3, Java2 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){0§}0:0 + // Public signature: /H.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: H#foo(0:0?){0§} + // Public signature: /H.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + @Override + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java3, Java2 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){0§}0:0 + // Public signature: /I.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: I#foo(0:0){0§} + // Public signature: /I.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java4 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){0§}0:0? + // Public signature: /J.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: J#foo(0:0?){0§} + // Public signature: /J.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){0§}0:0? + // Public signature: /KotlinClass.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass#foo(0:0?){0§} + // Public signature: /KotlinClass.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java4 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: L#bar(){0§}0:0? + // Public signature: /L.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: L#foo(0:0){0§} + // Public signature: /L.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){0§}0:0 + // Public signature: /KotlinInterface.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + abstract fun bar(): T + + // CHECK: + // Mangled name: KotlinInterface#foo(0:0){0§} + // Public signature: /KotlinInterface.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + abstract fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){0§}0:0 + // Public signature: /KotlinInterface2.bar|-7641096877409049164[0] + // Public signature debug description: bar(){0§}0:0 + abstract fun bar(): T + + // CHECK: + // Mangled name: KotlinInterface2#foo(0:0){0§} + // Public signature: /KotlinInterface2.foo|-917731394899076103[0] + // Public signature debug description: foo(0:0){0§} + abstract fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;L){} +// Public signature: /test|-5032873017181253992[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;L){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.ir.txt new file mode 100644 index 00000000000..f0837fd6fd5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.ir.txt @@ -0,0 +1,252 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java3) returnType:@[FlexibleNullability] T of .C.bar? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] T of .C.foo?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .C.foo? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'a: T of .D.foo declared in .D.foo' type=T of .D.foo origin=null + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .C.bar? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .C.bar? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.kt.txt new file mode 100644 index 00000000000..9f81ac46df5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.fir.kt.txt @@ -0,0 +1,77 @@ +abstract class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + println(message = a) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar() /*!! Int */ + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo<@FlexibleNullability Nothing?>(a = null) + a.foo(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() /*!! Any */ + c.foo<@FlexibleNullability Int?>(a = 1) + c.foo<@FlexibleNullability Nothing?>(a = null) + c.foo(a = null) + c.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.ir.txt new file mode 100644 index 00000000000..4d23ccf75f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.ir.txt @@ -0,0 +1,252 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java3) returnType:@[FlexibleNullability] T of .C.bar? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java3.bar? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] T of .C.foo?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java3.foo?): kotlin.Unit declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .C.foo? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null + message: GET_VAR 'a: T of .D.foo declared in .D.foo' type=T of .D.foo origin=null + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[FlexibleNullability] T of .C.bar? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .C.bar? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt new file mode 100644 index 00000000000..321d042aace --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt @@ -0,0 +1,74 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +public class Java1 { + public void foo(T a) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +public class Java3 extends Java1 { + @Override + public void foo(T a) { } + @Override + public T bar() { + return null; + } +} + +// FILE: 1.kt +abstract class A : Java2() // Kotlin ← Java1 ← Java2 + +class B : A() { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +class C : Java3() //Kotlin ← Java1(override) ← Java2 + +class D : Java1() { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { + println(a) + } +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo(1) + a.foo(null) + a.foo(null) + a.foo(listOf(null)) + + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(1) + b.foo(null) + b.foo(null) + b.foo(listOf(null)) + + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(1) + c.foo(null) + c.foo(null) + c.foo(listOf(null)) + + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(1) + d.foo(null) + d.foo(null) + d.foo(listOf(null)) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt.txt new file mode 100644 index 00000000000..40ffbcd37a9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt.txt @@ -0,0 +1,77 @@ +abstract class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + println(message = a) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar<@FlexibleNullability Int?>() /*!! Int */ + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo(a = null) + a.foo<@FlexibleNullability Int?>(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar<@FlexibleNullability Int?>() + val k8: Any = c.bar<@FlexibleNullability Any?>() /*!! Any */ + c.foo<@FlexibleNullability Int?>(a = 1) + c.foo(a = null) + c.foo<@FlexibleNullability Int?>(a = null) + c.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..bfd8d42cbeb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.sig.kt.txt @@ -0,0 +1,103 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){0§}0:0? + // Public signature: /A.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: A#foo(0:0?){0§} + // Public signature: /A.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){0§}0:0 + // Public signature: /B.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: B#foo(0:0){0§} + // Public signature: /B.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){0§}0:0? + // Public signature: /C.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + @Override + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: C#foo(0:0?){0§} + // Public signature: /C.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + @Override + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){0§}0:0 + // Public signature: /D.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: D#foo(0:0){0§} + // Public signature: /D.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.ir.txt new file mode 100644 index 00000000000..50b283b9597 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.ir.txt @@ -0,0 +1,270 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .A.bar [fake_override] + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .A.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .A.foo + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public abstract fun bar (): T of .A.bar declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[EnhancedNullability] T of .C.bar [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1.bar declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[EnhancedNullability] T of .C.foo) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[EnhancedNullability] T of .Java1.foo): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] T of .C.foo + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1.bar declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[EnhancedNullability] T of .Java1.foo): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public abstract fun bar (): T of .A.bar declared in .A' type=kotlin.Int origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + CALL 'public abstract fun bar (): T of .A.bar declared in .A' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[EnhancedNullability] T of .C.bar declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[EnhancedNullability] T of .C.bar declared in .C' type=@[EnhancedNullability] kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.kt.txt new file mode 100644 index 00000000000..8f78c964747 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.fir.kt.txt @@ -0,0 +1,83 @@ +abstract class A : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo(a = 1) + a.foo(a = null) + a.foo(a = null) + a.foo>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() /*!! Any */ + c.foo(a = 1) + c.foo(a = null) + c.foo(a = null) + c.foo>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.ir.txt new file mode 100644 index 00000000000..dcadbc4689d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.ir.txt @@ -0,0 +1,270 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .A.bar [fake_override] + overridden: + public abstract fun bar (): T of .Java2.bar declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .A.foo) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: T of .Java2.foo): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .A.foo + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public abstract fun bar (): T of .A.bar declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[EnhancedNullability] T of .C.bar [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1.bar declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[EnhancedNullability] T of .C.foo) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[EnhancedNullability] T of .Java1.foo): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] T of .C.foo + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[EnhancedNullability] T of .Java1.bar declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[EnhancedNullability] T of .Java1.foo): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public abstract fun bar (): T of .A.bar declared in .A' type=kotlin.Int origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + CALL 'public abstract fun bar (): T of .A.bar declared in .A' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: T of .A.foo): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): @[EnhancedNullability] T of .C.bar declared in .C' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[EnhancedNullability] T of .C.bar declared in .C' type=@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[EnhancedNullability] T of .C.foo): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt new file mode 100644 index 00000000000..5992f7cf0b9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt @@ -0,0 +1,69 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +public class Java1 implements KotlinInterface { + @Override + public void foo(T a) { } + @Override + public T bar() { + return null; + } +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: 1.kt +abstract class A : Java2 // Kotlin ← Java ← Kotlin + +class B : A() { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +class C : Java1() //Kotlin ← Java(override) ← Kotlin + +class D : Java1() { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +interface KotlinInterface { + fun foo(a: T) + fun bar(): T +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo(1) + a.foo(null) + a.foo(null) + a.foo(listOf(null)) + + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(1) + b.foo(null) + b.foo(null) + b.foo(listOf(null)) + + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(1) + c.foo(null) + c.foo(null) + c.foo(listOf(null)) + + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(1) + d.foo(null) + d.foo(null) + d.foo(listOf(null)) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt.txt new file mode 100644 index 00000000000..7ae6f510c60 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt.txt @@ -0,0 +1,83 @@ +abstract class A : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Int = a.bar() + val k3: Any = a.bar() + a.foo(a = 1) + a.foo(a = null) + a.foo(a = null) + a.foo>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar<@FlexibleNullability Int?>() + val k8: Any = c.bar<@FlexibleNullability Any?>() /*!! Any */ + c.foo(a = 1) + c.foo(a = null) + c.foo<@FlexibleNullability Int?>(a = null) + c.foo>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.sig.kt.txt new file mode 100644 index 00000000000..cfbe7751587 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.sig.kt.txt @@ -0,0 +1,121 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){0§}0:0 + // Public signature: /A.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + abstract /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: A#foo(0:0){0§} + // Public signature: /A.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + abstract /* fake */ override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){0§}0:0 + // Public signature: /B.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: B#foo(0:0){0§} + // Public signature: /B.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){0§}0:0{EnhancedNullability} + // Public signature: /C.bar|6765732301291641606[0] + // Public signature debug description: bar(){0§}0:0{EnhancedNullability} + @Override + /* fake */ override fun bar(): @EnhancedNullability T + + // CHECK: + // Mangled name: C#foo(0:0{EnhancedNullability}){0§} + // Public signature: /C.foo|-2061655068181839688[0] + // Public signature debug description: foo(0:0{EnhancedNullability}){0§} + @Override + /* fake */ override fun foo(a: @EnhancedNullability T): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){0§}0:0 + // Public signature: /D.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: D#foo(0:0){0§} + // Public signature: /D.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){0§}0:0 + // Public signature: /KotlinInterface.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + abstract fun bar(): T + + // CHECK: + // Mangled name: KotlinInterface#foo(0:0){0§} + // Public signature: /KotlinInterface.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + abstract fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..e5a3a5cbc27 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,482 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .KotlinClass?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .KotlinClass?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java4, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): kotlin.Any declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): kotlin.Any declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java2 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java2 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1.KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.KotlinClass>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .KotlinClass + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1.KotlinClass>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.KotlinClass> + 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 .Java1 + $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:.Java1.KotlinClass>, t:@[FlexibleNullability] T of .KotlinClass?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.KotlinClass> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface? + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, t:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:t index:0 type:T of .KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .A' type=kotlin.Number origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .D' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .E' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .H' type=kotlin.Number origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .I' type=kotlin.Number origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..0bc44c303a4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,138 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class B : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + +} + +class C : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +abstract class D : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class E : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +abstract class F : Java1, Java5 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class G : Java1, Java5 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(t: Any) { + } + +} + +class H : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class I : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Any) { + } + +} + +open class KotlinClass : Java1 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): T? + + abstract fun foo(t: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, i: I) { + a.foo(t = 1) + a.foo(t = 1.1) + a.foo(t = null) + a.foo(t = "") + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = null) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = "") + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1.1) + e.foo(t = null) + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ + h.foo(t = 2) + h.foo(t = "") + h.bar() /*~> Unit */ + i.foo(t = 2) + i.foo(t = "") + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.sig.kt.txt new file mode 100644 index 00000000000..62e37f63a49 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.fir.sig.kt.txt @@ -0,0 +1,317 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Number + // Public signature: /A.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: A#foo(kotlin.Number){} + // Public signature: /A.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: A#foo(kotlin.Any?){} + // Public signature: /A.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : KotlinClass, Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int? + // Public signature: /B.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: B#foo(kotlin.Any?){} + // Public signature: /B.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + abstract /* fake */ override fun foo(t: Any?): Unit + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : KotlinClass, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int? + // Public signature: /C.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Any?){} + // Public signature: /C.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java4, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Number? + // Public signature: /D.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: D#foo(kotlin.Number?){} + // Public signature: /D.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: D#foo(kotlin.Any?){} + // Public signature: /D.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java4, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Number? + // Public signature: /E.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: E#foo(kotlin.Number?){} + // Public signature: /E.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Any?){} + // Public signature: /E.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java5 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Int? + // Public signature: /F.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: F#foo(kotlin.Any){} + // Public signature: /F.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract /* fake */ override fun foo(t: Any): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Int?){} + // Public signature: /F.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java5 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Int? + // Public signature: /G.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: G#foo(kotlin.Int?){} + // Public signature: /G.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: G#foo(kotlin.Any){} + // Public signature: /G.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java2, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Number + // Public signature: /H.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: H#foo(kotlin.Number){} + // Public signature: /H.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: H#foo(kotlin.Any?){} + // Public signature: /H.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java2, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Number + // Public signature: /I.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: I#foo(kotlin.Number){} + // Public signature: /I.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: I#foo(kotlin.Any){} + // Public signature: /I.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 where T : Number, T : Comparable { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}1:0? + // Public signature: /KotlinClass.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass#foo(1:0?){} + // Public signature: /KotlinClass.foo|-131141195414545503[0] + // Public signature debug description: foo(1:0?){} + /* fake */ override fun foo(t: T?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}1:0? + // Public signature: /KotlinInterface.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + abstract fun bar(): T? + + // CHECK: + // Mangled name: KotlinInterface#foo(1:0){} + // Public signature: /KotlinInterface.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + abstract fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;H;I){} +// Public signature: /test|-8914767252028701820[0] +// Public signature debug description: test(A;B;C;D;E;F;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..6c596371c1d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.ir.txt @@ -0,0 +1,482 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + $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:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .KotlinClass?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .KotlinClass? declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .KotlinClass?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java4, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:@[RawType] .KotlinInterface, t:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1.KotlinClass>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.KotlinClass>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .KotlinClass? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1.KotlinClass>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.KotlinClass>) returnType:@[FlexibleNullability] T of .KotlinClass? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.KotlinClass> + 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 .Java1 + $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:.Java1.KotlinClass>, t:@[FlexibleNullability] T of .KotlinClass?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.KotlinClass> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .KotlinClass? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface? + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, t:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:t index:0 type:T of .KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .A' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .D' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .E' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .H' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .I' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt new file mode 100644 index 00000000000..43ec68284e0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt @@ -0,0 +1,93 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66067, KT-59138 + +// FILE: Java1.java +public class Java1 { + public void foo(T t) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 extends KotlinClass { + public void foo(Object t) { } +} + +// FILE: Java3.java +interface Java3 { + void foo(Object t) ; +} + +// FILE: Java4.java +public class Java4 extends Java1 { + public void foo(T t) { } +} + +// FILE: Java5.java +interface Java5 extends KotlinInterface { } + +// FILE: 1.kt +class A : Java2() // Kotlin ← Java ← Kotlin ← Java + +abstract class B : KotlinClass(), Java3 // Kotlin ← Java, Kotlin2 ← Java2 + +class C : KotlinClass(), Java3 { + override fun foo(t: Any?) { } +} + +abstract class D : Java4(), Java3 // Kotlin ← Java1, Java2 ← Java3 + +class E : Java4(), Java3 { + override fun foo(t: Any?) { } +} + +abstract class F : Java1(), Java5 // Kotlin ← Java1, Java2 ← Kotlin2 + +class G : Java1(), Java5 { + override fun foo(t: Any) { } +} + +class H : Java2(), KotlinInterface // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class I: Java2(), KotlinInterface { + override fun foo(t: Any) { } +} + +open class KotlinClass : Java1() where T: Number, T: Comparable + +interface KotlinInterface{ + fun foo(t: T) + fun bar(): T? +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, i: I) { + a.foo(1) + a.foo(1.1) + a.foo(null) + a.foo("") + a.bar() + b.foo(1.2) + b.foo(null) + b.bar() + c.foo(null) + c.foo("") + c.foo(1) + c.bar() + d.foo(null) + d.foo(1) + d.bar() + e.foo(1.1) + e.foo(null) + e.bar() + f.foo(2) + f.foo("") + f.bar() + h.foo(2) + h.foo("") + h.bar() + i.foo(2) + i.foo("") + i.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..11433a079e2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt.txt @@ -0,0 +1,138 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +abstract class B : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + +} + +class C : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +abstract class D : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/<@FlexibleNullability Any?>() + /* () */ + + } + +} + +class E : Java4, Java3 { + constructor() /* primary */ { + super/*Java4*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +abstract class F : Java1, Java5 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class G : Java1, Java5 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun foo(t: Any) { + } + +} + +class H : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class I : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Any) { + } + +} + +open class KotlinClass : Java1 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): T? + + abstract fun foo(t: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, i: I) { + a.foo(t = 1) + a.foo(t = 1.1) + a.foo(t = null) + a.foo(t = "") + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = null) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = "") + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1.1) + e.foo(t = null) + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ + h.foo(t = 2) + h.foo(t = "") + h.bar() /*~> Unit */ + i.foo(t = 2) + i.foo(t = "") + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..cc31aa4e154 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,317 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Number? + // Public signature: /A.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: A#foo(kotlin.Any?){} + // Public signature: /A.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + + // CHECK: + // Mangled name: A#foo(kotlin.Number?){} + // Public signature: /A.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : KotlinClass, Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int? + // Public signature: /B.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: B#foo(kotlin.Any?){} + // Public signature: /B.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + abstract /* fake */ override fun foo(t: Any?): Unit + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : KotlinClass, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int? + // Public signature: /C.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Any?){} + // Public signature: /C.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java4, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Number? + // Public signature: /D.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: D#foo(kotlin.Number?){} + // Public signature: /D.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: D#foo(kotlin.Any?){} + // Public signature: /D.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java4, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Number? + // Public signature: /E.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: E#foo(kotlin.Number?){} + // Public signature: /E.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Any?){} + // Public signature: /E.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java5 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Int? + // Public signature: /F.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: F#foo(kotlin.Any){} + // Public signature: /F.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract /* fake */ override fun foo(t: Any): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Int?){} + // Public signature: /F.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java5 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Int? + // Public signature: /G.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: G#foo(kotlin.Int?){} + // Public signature: /G.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: G#foo(kotlin.Any){} + // Public signature: /G.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java2, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Number? + // Public signature: /H.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: H#foo(kotlin.Any?){} + // Public signature: /H.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + + // CHECK: + // Mangled name: H#foo(kotlin.Number?){} + // Public signature: /H.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java2, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Number? + // Public signature: /I.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: I#foo(kotlin.Number?){} + // Public signature: /I.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: I#foo(kotlin.Any){} + // Public signature: /I.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 where T : Number, T : Comparable { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}1:0? + // Public signature: /KotlinClass.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass#foo(1:0?){} + // Public signature: /KotlinClass.foo|-131141195414545503[0] + // Public signature debug description: foo(1:0?){} + /* fake */ override fun foo(t: T?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}1:0? + // Public signature: /KotlinInterface.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + abstract fun bar(): T? + + // CHECK: + // Mangled name: KotlinInterface#foo(1:0){} + // Public signature: /KotlinInterface.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + abstract fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;H;I){} +// Public signature: /test|-8914767252028701820[0] +// Public signature debug description: test(A;B;C;D;E;F;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.ir.txt new file mode 100644 index 00000000000..345bed93671 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.ir.txt @@ -0,0 +1,252 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Double?>) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + 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 .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Double?>, t:@[FlexibleNullability] kotlin.Double?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Double? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java4, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Number?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Number? + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Double?>) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Double?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Double? + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .A' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .B' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .C' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .D' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Double?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: kotlin.Double?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .E' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .F' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.kt.txt new file mode 100644 index 00000000000..b201350132f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.fir.kt.txt @@ -0,0 +1,85 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class C : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Number?) { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo(t: Double?) { + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(t = 1) + a.foo(t = 1.1) + a.foo(t = null) + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = null) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = "") + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1.1) + e.foo(t = null) + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.ir.txt new file mode 100644 index 00000000000..98eba6fd614 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.ir.txt @@ -0,0 +1,252 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + $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:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Double?>) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + 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 .Java3 + $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:.Java1<@[FlexibleNullability] kotlin.Double?>, t:@[FlexibleNullability] kotlin.Double?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Double? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java4, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java2 + $this: VALUE_PARAMETER name: type:@[RawType] .Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Number?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Number? + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Double?>) returnType:@[FlexibleNullability] kotlin.Double? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Double?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Double?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Double? + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1<@[FlexibleNullability] kotlin.Number?>) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + 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 .Java4 + $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:.Java1<@[FlexibleNullability] kotlin.Number?>, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] kotlin.Number?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .A' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Double?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .B' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .C' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Number?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .D' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Double?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Double type=kotlin.Double value=1.1 + CALL 'public open fun foo (t: kotlin.Double?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Double? declared in .E' type=@[FlexibleNullability] kotlin.Double? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .F' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt new file mode 100644 index 00000000000..88f368323d9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt @@ -0,0 +1,72 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(T t) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +public class Java3 extends Java1 { } + +// FILE: Java4.java +public class Java4 extends Java1 { + public void foo(T t) { } +} + +// FILE: Java6.java +public class Java6 extends KotlinClass2 { + @Override + public void foo(Number t) {} + @Override + public Number bar() { + return null; + } +} + +// FILE: 1.kt +class A : Java2() + +class B : Java3() + +class C : Java4() + +class D : Java2() { + override fun foo(t: Number?) { } +} + +class E : Java3() { + override fun foo(t: Double?) { } +} + +class F : Java4() { + override fun foo(t: Any?) { } +} + +fun test(a: A, b: B, c : C, d: D, e: E, f: F) { + a.foo(1) + a.foo(1.1) + a.foo(null) + a.bar() + b.foo(1.2) + b.foo(null) + b.bar() + c.foo(null) + c.foo("") + c.foo(1) + c.bar() + d.foo(null) + d.foo(1) + d.bar() + e.foo(1.1) + e.foo(null) + e.bar() + f.foo(2) + f.foo("") + f.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt.txt new file mode 100644 index 00000000000..b6be4411785 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt.txt @@ -0,0 +1,85 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class C : Java4 { + constructor() /* primary */ { + super/*Java4*/<@FlexibleNullability Any?>() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Number?) { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo(t: Double?) { + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun foo(t: Any?) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(t = 1) + a.foo(t = 1.1) + a.foo(t = null) + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = null) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = "") + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1.1) + e.foo(t = null) + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..5e3c6debd60 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.sig.kt.txt @@ -0,0 +1,161 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Number? + // Public signature: /A.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: A#foo(kotlin.Number?){} + // Public signature: /A.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Double? + // Public signature: /B.bar|-682592564869870715[0] + // Public signature debug description: bar(){}kotlin.Double? + /* fake */ override fun bar(): Double? + + // CHECK: + // Mangled name: B#foo(kotlin.Double?){} + // Public signature: /B.foo|6411712553578757001[0] + // Public signature debug description: foo(kotlin.Double?){} + /* fake */ override fun foo(t: Double?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java4 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Number? + // Public signature: /C.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: C#foo(kotlin.Number?){} + // Public signature: /C.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Any?){} + // Public signature: /C.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + /* fake */ override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Number? + // Public signature: /D.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: D#foo(kotlin.Number?){} + // Public signature: /D.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + override fun foo(t: Number?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Double? + // Public signature: /E.bar|-682592564869870715[0] + // Public signature debug description: bar(){}kotlin.Double? + /* fake */ override fun bar(): Double? + + // CHECK: + // Mangled name: E#foo(kotlin.Double?){} + // Public signature: /E.foo|6411712553578757001[0] + // Public signature debug description: foo(kotlin.Double?){} + override fun foo(t: Double?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Number? + // Public signature: /F.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: F#foo(kotlin.Number?){} + // Public signature: /F.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Any?){} + // Public signature: /F.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + override fun foo(t: Any?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.ir.txt new file mode 100644 index 00000000000..476395cbe4f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.ir.txt @@ -0,0 +1,652 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $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:.KotlinClass, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Number) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Number + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + 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 .Java2 + $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:.KotlinClass<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.KotlinClass<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun bar (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=6 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.String + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Number [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, t:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.KotlinClass, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : kotlin.String + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Number [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, t:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Number) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Number + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2) returnType:kotlin.Number [fake_override] + overridden: + public open fun bar (): kotlin.Number declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinClass2 + 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 .Java4 + $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:.KotlinClass2, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinClass2 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java4) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:.KotlinClass2, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinClass2 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Number + overridden: + public open fun bar (): kotlin.Number declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .H' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java4) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + 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 .Java5 + $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:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java6) returnType:@[EnhancedNullability] kotlin.Number [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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:.Java6, t:@[EnhancedNullability] kotlin.Number) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + VALUE_PARAMETER name:t index:0 type:@[EnhancedNullability] kotlin.Number + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java6) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass? visibility:private [final] + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>) returnType:T of .KotlinClass? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .KotlinClass? declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass? visibility:private [final]' type=T of .KotlinClass? origin=null + receiver: GET_VAR ': .KotlinClass.KotlinClass> declared in .KotlinClass.' type=.KotlinClass.KotlinClass> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>) returnType:T of .KotlinClass? + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .KotlinClass? declared in .KotlinClass' + CALL 'public open fun (): T of .KotlinClass? declared in .KotlinClass' type=T of .KotlinClass? origin=GET_PROPERTY + $this: GET_VAR ': .KotlinClass.KotlinClass> declared in .KotlinClass.bar' type=.KotlinClass.KotlinClass> origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>, t:T of .KotlinClass) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + VALUE_PARAMETER name:t index:0 type:T of .KotlinClass + BLOCK_BODY + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2.KotlinClass2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.KotlinClass2>] reified:false + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass2? visibility:private [final] + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>) returnType:T of .KotlinClass2? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .KotlinClass2? declared in .KotlinClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass2? visibility:private [final]' type=T of .KotlinClass2? origin=null + receiver: GET_VAR ': .KotlinClass2.KotlinClass2> declared in .KotlinClass2.' type=.KotlinClass2.KotlinClass2> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2.KotlinClass2> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>) returnType:T of .KotlinClass2? + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .KotlinClass2? declared in .KotlinClass2' + CALL 'public open fun (): T of .KotlinClass2? declared in .KotlinClass2' type=T of .KotlinClass2? origin=GET_PROPERTY + $this: GET_VAR ': .KotlinClass2.KotlinClass2> declared in .KotlinClass2.bar' type=.KotlinClass2.KotlinClass2> origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>, t:T of .KotlinClass2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + VALUE_PARAMETER name:t index:0 type:T of .KotlinClass2 + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6, t:@[EnhancedNullability] kotlin.Number) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + VALUE_PARAMETER name:t index:0 type:@[EnhancedNullability] kotlin.Number + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Number + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .Java6 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .L' + CONST Int type=kotlin.Int value=4 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java6) returnType:kotlin.Number [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + BLOCK_BODY + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .A' type=kotlin.Number origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .B' type=kotlin.Number origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .E' type=@[EnhancedNullability] kotlin.Number origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .F' type=@[EnhancedNullability] kotlin.Number origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .G' type=kotlin.Number origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .H' type=kotlin.Number origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .I' type=kotlin.Int? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .J' type=kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number declared in .K' type=@[EnhancedNullability] kotlin.Number origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + t: CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .L' type=kotlin.Number origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.kt.txt new file mode 100644 index 00000000000..be74fbc77bc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.kt.txt @@ -0,0 +1,202 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(t: Number) { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int? { + return 6 + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo(t: Number) { + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun bar(): Number { + return 1 + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo(t: Int?) { + } + +} + +class K : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +open class KotlinClass { + open val a: T? + field = null + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): T? { + return .() + } + + open fun foo(t: T) { + } + +} + +open class KotlinClass2 where T : Number, T : Comparable { + open val a: T? + field = null + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): T? { + return .() + } + + open fun foo(t: T) { + } + +} + +class L : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun bar(): Number { + return 4 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.foo(t = 1) + a.foo(t = 1.1) + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1) + e.foo(t = "") + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ + g.foo(t = 2) + g.bar() /*~> Unit */ + h.foo(t = 2) + h.bar() /*~> Unit */ + i.foo(t = 2) + i.bar() /*~> Unit */ + j.foo(t = null) + j.foo(t = 1) + j.bar() /*~> Unit */ + k.foo(t = 1) + k.bar() /*~> Unit */ + l.foo(t = 4) + l.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..efa13dd76ab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.fir.sig.kt.txt @@ -0,0 +1,510 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Number + // Public signature: /A.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: A#foo(kotlin.Number){} + // Public signature: /A.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Number + // Public signature: /A.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Number + // Public signature: /B.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: B#foo(kotlin.Number){} + // Public signature: /B.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Number + // Public signature: /B.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int? + // Public signature: /C.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int? + // Public signature: /C.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int?){} + // Public signature: /D.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int? + // Public signature: /D.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + override fun bar(): Int? + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int? + // Public signature: /D.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Number{EnhancedNullability} + // Public signature: /E.bar|1590939005184243154[0] + // Public signature debug description: bar(){}kotlin.Number{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Number + + // CHECK: + // Mangled name: E#foo(kotlin.String?){} + // Public signature: /E.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(t: String?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Number){} + // Public signature: /E.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Number + // Public signature: /E.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Number{EnhancedNullability} + // Public signature: /F.bar|1590939005184243154[0] + // Public signature debug description: bar(){}kotlin.Number{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Number + + // CHECK: + // Mangled name: F#foo(kotlin.String?){} + // Public signature: /F.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(t: String?): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Number){} + // Public signature: /F.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Number + // Public signature: /F.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Number + // Public signature: /G.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + /* fake */ override fun bar(): Number + + // CHECK: + // Mangled name: G#foo(kotlin.Number){} + // Public signature: /G.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Number + // Public signature: /G.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(kotlin.Number){} + // Public signature: /H.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Number + // Public signature: /H.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + override fun bar(): Number + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Number + // Public signature: /H.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Int? + // Public signature: /I.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: I#foo(kotlin.Int?){} + // Public signature: /I.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int? + // Public signature: /I.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.Int? + // Public signature: /J.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: J#foo(kotlin.Int?){} + // Public signature: /J.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int? + // Public signature: /J.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java6 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: K#bar(){}kotlin.Number{EnhancedNullability} + // Public signature: /K.bar|1590939005184243154[0] + // Public signature debug description: bar(){}kotlin.Number{EnhancedNullability} + @Override + /* fake */ override fun bar(): @EnhancedNullability Number + + // CHECK: + // Mangled name: K#foo(kotlin.Number{EnhancedNullability}){} + // Public signature: /K.foo|7903144043962862909[0] + // Public signature debug description: foo(kotlin.Number{EnhancedNullability}){} + @Override + /* fake */ override fun foo(t: @EnhancedNullability Number): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Number + // Public signature: /K.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: T? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}1:0? + // Public signature: /KotlinClass.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + open get + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}1:0? + // Public signature: /KotlinClass.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + open fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass#foo(1:0){} + // Public signature: /KotlinClass.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + open fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: KotlinClass2 +// Public signature: /KotlinClass2|null[0] +open class KotlinClass2 where T : Number, T : Comparable { + // CHECK: + // Mangled name: KotlinClass2{}a + // Public signature: /KotlinClass2.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: T? + // CHECK JVM_IR: + // Mangled name: KotlinClass2#(){}1:0? + // Public signature: /KotlinClass2.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + open get + + // CHECK: + // Mangled name: KotlinClass2#(){} + // Public signature: /KotlinClass2.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass2#bar(){}1:0? + // Public signature: /KotlinClass2.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + open fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass2#foo(1:0){} + // Public signature: /KotlinClass2.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + open fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java6 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(kotlin.Number{EnhancedNullability}){} + // Public signature: /L.foo|7903144043962862909[0] + // Public signature debug description: foo(kotlin.Number{EnhancedNullability}){} + @Override + /* fake */ override fun foo(t: @EnhancedNullability Number): Unit + + // CHECK JVM_IR: + // Mangled name: L#bar(){}kotlin.Number + // Public signature: /L.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + override fun bar(): Number + + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Number + // Public signature: /L.a.|-5418543833660929450[0] + // Public signature debug description: (){}kotlin.Number + /* fake */ override get(): Number + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L){} +// Public signature: /test|-3655539743967648908[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.ir.txt new file mode 100644 index 00000000000..6062fc9daf2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.ir.txt @@ -0,0 +1,652 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + overridden: + public open fun bar (): kotlin.Number? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + 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 .Java1 + $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:@[RawType] .KotlinClass, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + overridden: + public open fun bar (): kotlin.Number? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Number) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Number + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java1 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + 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 .Java2 + $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:.KotlinClass<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.KotlinClass<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun bar (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=6 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, t:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[EnhancedNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, t:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.String? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Number) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Number + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass2) returnType:kotlin.Number? [fake_override] + overridden: + public open fun bar (): kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + 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 .Java4 + $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:@[RawType] .KotlinClass2, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass2) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:@[RawType] .KotlinClass2, t:kotlin.Number) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Number): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + VALUE_PARAMETER name:t index:0 type:kotlin.Number + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Number + overridden: + public open fun bar (): kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .H' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass2) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java4 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + 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 .Java5 + $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:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass2<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int? declared in .Java5 + $this: VALUE_PARAMETER name: type:.KotlinClass2<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java6) returnType:@[EnhancedNullability] kotlin.Number? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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:.Java6, t:@[EnhancedNullability] kotlin.Number) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + VALUE_PARAMETER name:t index:0 type:@[EnhancedNullability] kotlin.Number + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass2) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java6 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass.KotlinClass> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] reified:false + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass? visibility:private [final] + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>) returnType:T of .KotlinClass? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .KotlinClass? declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass? visibility:private [final]' type=T of .KotlinClass? origin=null + receiver: GET_VAR ': .KotlinClass.KotlinClass> declared in .KotlinClass.' type=.KotlinClass.KotlinClass> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass.KotlinClass> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>) returnType:T of .KotlinClass? + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .KotlinClass? declared in .KotlinClass' + CALL 'public open fun (): T of .KotlinClass? declared in .KotlinClass' type=T of .KotlinClass? origin=GET_PROPERTY + $this: GET_VAR ': .KotlinClass.KotlinClass> declared in .KotlinClass.bar' type=.KotlinClass.KotlinClass> origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass.KotlinClass>, t:T of .KotlinClass) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass.KotlinClass> + VALUE_PARAMETER name:t index:0 type:T of .KotlinClass + BLOCK_BODY + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2.KotlinClass2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.KotlinClass2>] reified:false + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass2? visibility:private [final] + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>) returnType:T of .KotlinClass2? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .KotlinClass2? declared in .KotlinClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .KotlinClass2? visibility:private [final]' type=T of .KotlinClass2? origin=null + receiver: GET_VAR ': .KotlinClass2.KotlinClass2> declared in .KotlinClass2.' type=.KotlinClass2.KotlinClass2> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2.KotlinClass2> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>) returnType:T of .KotlinClass2? + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .KotlinClass2? declared in .KotlinClass2' + CALL 'public open fun (): T of .KotlinClass2? declared in .KotlinClass2' type=T of .KotlinClass2? origin=GET_PROPERTY + $this: GET_VAR ': .KotlinClass2.KotlinClass2> declared in .KotlinClass2.bar' type=.KotlinClass2.KotlinClass2> origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass2.KotlinClass2>, t:T of .KotlinClass2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass2.KotlinClass2> + VALUE_PARAMETER name:t index:0 type:T of .KotlinClass2 + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6, t:@[EnhancedNullability] kotlin.Number) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + VALUE_PARAMETER name:t index:0 type:@[EnhancedNullability] kotlin.Number + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Number + overridden: + public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .Java6 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .L' + CONST Int type=kotlin.Int value=4 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Number? + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:@[RawType] .KotlinClass2) returnType:kotlin.Number? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Number? declared in .Java6 + $this: VALUE_PARAMETER name: type:@[RawType] .KotlinClass2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + BLOCK_BODY + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number? declared in .A' type=kotlin.Number? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Double type=kotlin.Double value=1.2 + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number? declared in .B' type=kotlin.Number? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .E' type=@[EnhancedNullability] kotlin.Number? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .F' type=@[EnhancedNullability] kotlin.Number? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number? declared in .G' type=kotlin.Number? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Number): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .H' type=kotlin.Number origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .I' type=kotlin.Int? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .J' type=kotlin.Int? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] kotlin.Number? declared in .K' type=@[EnhancedNullability] kotlin.Number? origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (t: @[EnhancedNullability] kotlin.Number): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + t: CONST Int type=kotlin.Int value=4 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .L' type=kotlin.Number origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt new file mode 100644 index 00000000000..54b670b3692 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt @@ -0,0 +1,126 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-59138, KT-66048, KT-66158 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: Java2.java +public class Java2 extends KotlinClass { } + +// FILE: Java3.java +public class Java3 extends KotlinClass { + public void foo(T t) { } + public Number bar() { + return null; + } +} + +// FILE: Java4.java +public class Java4 extends KotlinClass2 { } + +// FILE: Java5.java +public class Java5 extends KotlinClass2 { } + +// FILE: Java6.java +public class Java6 extends KotlinClass2 { + @Override + public void foo(Number t) {} + @Override + public Number bar() { + return null; + } +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun foo(t: Number) { } +} + +class C : Java2() + +class D : Java2() { + override fun bar(): Int? { + return 6 + } +} + +class E : Java3() + +class F : Java3() { + override fun foo(t: Number) { } +} + +class G : Java4() + +class H : Java4() { + override fun bar(): Number { + return 1 + } +} + +class I : Java5() + +class J : Java5() { + override fun foo(t: Int?) { } +} + +class K : Java6() + +class L : Java6() { + override fun bar(): Number { + return 4 + } +} + +open class KotlinClass { + open val a : T? = null + open fun foo(t: T) { } + open fun bar(): T? { + return a + } +} + +open class KotlinClass2 where T : Number, T: Comparable { + open val a : T? = null + open fun foo(t: T) { } + open fun bar(): T? { + return a + } +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.foo(1) + a.foo(1.1) + a.bar() + b.foo(1.2) + b.foo(1) + b.bar() + c.foo(null) + c.foo(1) + c.bar() + d.foo(null) + d.foo(1) + d.bar() + e.foo(1) + e.foo("") + e.bar() + f.foo(2) + f.foo("") + f.bar() + g.foo(2) + g.bar() + h.foo(2) + h.bar() + i.foo(2) + i.bar() + j.foo(null) + j.foo(1) + j.bar() + k.foo(1) + k.bar() + l.foo(4) + l.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt.txt new file mode 100644 index 00000000000..ae0336bf86e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt.txt @@ -0,0 +1,202 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(t: Number) { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int? { + return 6 + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability String?>() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability String?>() + /* () */ + + } + + override fun foo(t: Number) { + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun bar(): Number { + return 1 + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo(t: Int?) { + } + +} + +class K : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +open class KotlinClass { + open val a: T? + field = null + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): T? { + return .() + } + + open fun foo(t: T) { + } + +} + +open class KotlinClass2 where T : Number, T : Comparable { + open val a: T? + field = null + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): T? { + return .() + } + + open fun foo(t: T) { + } + +} + +class L : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun bar(): Number { + return 4 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.foo(t = 1) + a.foo(t = 1.1) + a.bar() /*~> Unit */ + b.foo(t = 1.2) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = null) + d.foo(t = 1) + d.bar() /*~> Unit */ + e.foo(t = 1) + e.foo(t = "") + e.bar() /*~> Unit */ + f.foo(t = 2) + f.foo(t = "") + f.bar() /*~> Unit */ + g.foo(t = 2) + g.bar() /*~> Unit */ + h.foo(t = 2) + h.bar() /*~> Unit */ + i.foo(t = 2) + i.bar() /*~> Unit */ + j.foo(t = null) + j.foo(t = 1) + j.bar() /*~> Unit */ + k.foo(t = 1) + k.bar() /*~> Unit */ + l.foo(t = 4) + l.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.sig.kt.txt new file mode 100644 index 00000000000..ec900ac6fd6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.sig.kt.txt @@ -0,0 +1,510 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Number? + // Public signature: /A.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: A#foo(kotlin.Number){} + // Public signature: /A.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Number? + // Public signature: /A.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Number? + // Public signature: /B.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: B#foo(kotlin.Number){} + // Public signature: /B.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Number? + // Public signature: /B.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int? + // Public signature: /C.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int? + // Public signature: /C.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int?){} + // Public signature: /D.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int? + // Public signature: /D.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + override fun bar(): Int? + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int? + // Public signature: /D.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Number?{EnhancedNullability} + // Public signature: /E.bar|-795460070449086562[0] + // Public signature debug description: bar(){}kotlin.Number?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Number? + + // CHECK: + // Mangled name: E#foo(kotlin.String?){} + // Public signature: /E.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(t: String?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Number){} + // Public signature: /E.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Number? + // Public signature: /E.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Number?{EnhancedNullability} + // Public signature: /F.bar|-795460070449086562[0] + // Public signature debug description: bar(){}kotlin.Number?{EnhancedNullability} + /* fake */ override fun bar(): @EnhancedNullability Number? + + // CHECK: + // Mangled name: F#foo(kotlin.String?){} + // Public signature: /F.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(t: String?): Unit + + // CHECK: + // Mangled name: F#foo(kotlin.Number){} + // Public signature: /F.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Number? + // Public signature: /F.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Number? + // Public signature: /G.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: G#foo(kotlin.Number){} + // Public signature: /G.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Number? + // Public signature: /G.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(kotlin.Number){} + // Public signature: /H.foo|97687418835402471[0] + // Public signature debug description: foo(kotlin.Number){} + /* fake */ override fun foo(t: Number): Unit + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Number + // Public signature: /H.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + override fun bar(): Number + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Number? + // Public signature: /H.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Int? + // Public signature: /I.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: I#foo(kotlin.Int?){} + // Public signature: /I.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int? + // Public signature: /I.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.Int? + // Public signature: /J.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: J#foo(kotlin.Int?){} + // Public signature: /J.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(t: Int?): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int? + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int? + // Public signature: /J.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + /* fake */ override get(): Int? + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java6 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: K#bar(){}kotlin.Number?{EnhancedNullability} + // Public signature: /K.bar|-795460070449086562[0] + // Public signature debug description: bar(){}kotlin.Number?{EnhancedNullability} + @Override + /* fake */ override fun bar(): @EnhancedNullability Number? + + // CHECK: + // Mangled name: K#foo(kotlin.Number{EnhancedNullability}){} + // Public signature: /K.foo|7903144043962862909[0] + // Public signature debug description: foo(kotlin.Number{EnhancedNullability}){} + @Override + /* fake */ override fun foo(t: @EnhancedNullability Number): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Number? + // Public signature: /K.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: T? + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}1:0? + // Public signature: /KotlinClass.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + open get + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}1:0? + // Public signature: /KotlinClass.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + open fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass#foo(1:0){} + // Public signature: /KotlinClass.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + open fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: KotlinClass2 +// Public signature: /KotlinClass2|null[0] +open class KotlinClass2 where T : Number, T : Comparable { + // CHECK: + // Mangled name: KotlinClass2{}a + // Public signature: /KotlinClass2.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: T? + // CHECK JVM_IR: + // Mangled name: KotlinClass2#(){}1:0? + // Public signature: /KotlinClass2.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + open get + + // CHECK: + // Mangled name: KotlinClass2#(){} + // Public signature: /KotlinClass2.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass2#bar(){}1:0? + // Public signature: /KotlinClass2.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + open fun bar(): T? + + // CHECK: + // Mangled name: KotlinClass2#foo(1:0){} + // Public signature: /KotlinClass2.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + open fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java6 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(kotlin.Number{EnhancedNullability}){} + // Public signature: /L.foo|7903144043962862909[0] + // Public signature debug description: foo(kotlin.Number{EnhancedNullability}){} + @Override + /* fake */ override fun foo(t: @EnhancedNullability Number): Unit + + // CHECK JVM_IR: + // Mangled name: L#bar(){}kotlin.Number + // Public signature: /L.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + override fun bar(): Number + + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Number? + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Number? + // Public signature: /L.a.|-6716611300325194840[0] + // Public signature debug description: (){}kotlin.Number? + /* fake */ override get(): Number? + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L){} +// Public signature: /test|-3655539743967648908[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.ir.txt new file mode 100644 index 00000000000..0a6a8acb313 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.ir.txt @@ -0,0 +1,399 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .C.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .C.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .C.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .E.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .E.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .E.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .F.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .F.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.F) returnType:T of .F.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .F.bar declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .C.bar declared in .C' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .C.bar declared in .C' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k12 type:kotlin.Any? [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Any? origin=null + : kotlin.Any? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.kt.txt new file mode 100644 index 00000000000..98306961fb7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.fir.kt.txt @@ -0,0 +1,111 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class E : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.bar() /*!! Int */ + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + val k4: Nothing = a.bar<@FlexibleNullability Nothing?>() /*!! Nothing */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo<@FlexibleNullability Nothing?>(a = null) + a.foo(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo<@FlexibleNullability Int?>(a = 1) + c.foo<@FlexibleNullability Nothing?>(a = null) + c.foo(a = null) + c.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) + val k11: Int? = e.bar() + e.foo<@FlexibleNullability Int?>(a = 1) + e.foo<@FlexibleNullability Nothing?>(a = null) + val k12: Any? = f.bar() + f.foo<@FlexibleNullability Int?>(a = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.ir.txt new file mode 100644 index 00000000000..83f9e2e5cde --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.ir.txt @@ -0,0 +1,399 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.Java1) returnType:@[FlexibleNullability] T of .A.bar? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] T of .A.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .A.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.B) returnType:T of .B.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .B.bar declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.B, a:T of .B.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:T of .B.foo + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .C.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .C.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .C.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.D) returnType:T of .D.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .D.bar declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN ($this:.D, a:T of .D.foo) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:T of .D.foo + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN ($this:.KotlinInterface) returnType:T of .E.bar [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .E.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .E.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] T of .F.foo?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] T of .Java1.foo?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] T of .Java2.foo?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: T of .KotlinInterface.foo): kotlin.Unit declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] T of .F.foo? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN ($this:.F) returnType:T of .F.bar + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1.bar? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2.bar? declared in .Java2 + public abstract fun bar (): T of .KotlinInterface.bar declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): T of .F.bar declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT ($this:.KotlinInterface) returnType:T of .KotlinInterface.bar + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT ($this:.KotlinInterface, a:T of .KotlinInterface.foo) returnType:kotlin.Unit + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:T of .KotlinInterface.foo + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + : @[FlexibleNullability] kotlin.Any? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] T of .A.bar? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + : @[FlexibleNullability] kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .A.foo?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .B.bar declared in .B' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .B.foo): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .C.bar declared in .C' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k8 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .C.bar declared in .C' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .C.foo?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.collections.List? + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Any [val] + CALL 'public open fun bar (): T of .D.bar declared in .D' type=kotlin.Any origin=null + : kotlin.Any + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.Int? + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: T of .D.foo): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + : kotlin.collections.List + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.Int? [val] + CALL 'public open fun bar (): T of .E.bar declared in .E' type=kotlin.Int? origin=null + : kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] T of .E.foo?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + : kotlin.Nothing? + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k12 type:kotlin.Any? [val] + CALL 'public open fun bar (): T of .F.bar declared in .F' type=kotlin.Any? origin=null + : kotlin.Any? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] T of .F.foo?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + : @[FlexibleNullability] kotlin.Int? + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt new file mode 100644 index 00000000000..f2ce3fc2e18 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt @@ -0,0 +1,88 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + + +// FILE: Java1.java +public class Java1 { + public void foo(T a) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public interface Java2 { + public void foo(T a); + public T bar(); +} + +// FILE: 1.kt +class A : Java1(), Java2 //Kotlin ← Java1, Java2 + +class B : Java1(), Java2 { + override fun bar(): T { + return null!! + } + + override fun foo(a: T) { } +} + +abstract class C : Java1(), KotlinInterface // Kotlin ← Java, Kotlin2 + +class D : Java1(), KotlinInterface { + override fun bar(): T { + return null!! + } + override fun foo(a: T) { } +} + +class E : Java1(), Java2, KotlinInterface // Kotlin ← Java1, Java2, Kotlin2 + +class F : Java1(), Java2, KotlinInterface { + override fun bar(): T { + return null!! + } +} + +interface KotlinInterface { + fun foo(a: T) + fun bar(): T +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.bar() + val k3: Any = a.bar() + val k4: Nothing = a.bar() + a.foo(1) + a.foo(null) + a.foo(null) + a.foo(listOf(null)) + + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(1) + b.foo(null) + b.foo(null) + b.foo(listOf(null)) + + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo(1) + c.foo(null) + c.foo(null) + c.foo(listOf(null)) + + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(1) + d.foo(null) + d.foo(null) + d.foo(listOf(null)) + + val k11: Int? = e.bar() + e.foo(1) + e.foo(null) + + val k12: Any? = f.bar() + f.foo(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt.txt new file mode 100644 index 00000000000..e5e28e08d74 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt.txt @@ -0,0 +1,111 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: T) { + } + +} + +class E : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.bar<@FlexibleNullability Int?>() /*!! Int */ + val k3: Any = a.bar<@FlexibleNullability Any?>() /*!! Any */ + val k4: Nothing = a.bar<@FlexibleNullability Nothing?>() /*!! Nothing */ + a.foo<@FlexibleNullability Int?>(a = 1) + a.foo(a = null) + a.foo<@FlexibleNullability Int?>(a = null) + a.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k5: Int? = b.bar() + val k6: Any = b.bar() + b.foo(a = 1) + b.foo(a = null) + b.foo(a = null) + b.foo>(a = listOf(element = null)) + val k7: Int? = c.bar() + val k8: Any = c.bar() + c.foo<@FlexibleNullability Int?>(a = 1) + c.foo(a = null) + c.foo<@FlexibleNullability Int?>(a = null) + c.foo<@FlexibleNullability List?>(a = listOf(element = null)) + val k9: Int? = d.bar() + val k10: Any = d.bar() + d.foo(a = 1) + d.foo(a = null) + d.foo(a = null) + d.foo>(a = listOf(element = null)) + val k11: Int? = e.bar() + e.foo<@FlexibleNullability Int?>(a = 1) + e.foo(a = null) + val k12: Any? = f.bar() + f.foo<@FlexibleNullability Int?>(a = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.sig.kt.txt new file mode 100644 index 00000000000..ade8aec660a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.sig.kt.txt @@ -0,0 +1,167 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){0§}0:0? + // Public signature: /A.bar|3413998560905296504[0] + // Public signature debug description: bar(){0§}0:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: A#foo(0:0?){0§} + // Public signature: /A.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){0§}0:0 + // Public signature: /B.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: B#foo(0:0){0§} + // Public signature: /B.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){0§}0:0 + // Public signature: /C.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: C#foo(0:0?){0§} + // Public signature: /C.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){0§}0:0 + // Public signature: /D.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + + // CHECK: + // Mangled name: D#foo(0:0){0§} + // Public signature: /D.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + override fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){0§}0:0 + // Public signature: /E.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + /* fake */ override fun bar(): T + + // CHECK: + // Mangled name: E#foo(0:0?){0§} + // Public signature: /E.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(0:0?){0§} + // Public signature: /F.foo|-4923898216441019033[0] + // Public signature debug description: foo(0:0?){0§} + /* fake */ override fun foo(a: T?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar(){0§}0:0 + // Public signature: /F.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + override fun bar(): T + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){0§}0:0 + // Public signature: /KotlinInterface.bar|-3730887172686175993[0] + // Public signature debug description: bar(){0§}0:0 + abstract fun bar(): T + + // CHECK: + // Mangled name: KotlinInterface#foo(0:0){0§} + // Public signature: /KotlinInterface.foo|-6838606926256314363[0] + // Public signature debug description: foo(0:0){0§} + abstract fun foo(a: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.ir.txt new file mode 100644 index 00000000000..1abb845a003 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.ir.txt @@ -0,0 +1,415 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.C>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .C + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.C> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1.C>, t:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.C> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .C? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.D>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .D + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.D> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>, t:T of .D) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:t index:0 type:T of .D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Number + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Number + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Number + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .F' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1.H>; .KotlinInterface.H>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H.H> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.H.H> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .H + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1.H>; .KotlinInterface.H>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface.H>) returnType:T of .H? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.H> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1.H>, t:@[FlexibleNullability] T of .H?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.H> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .H? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=3 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface? + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, t:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:t index:0 type:T of .KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .C? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Float type=kotlin.Float value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .D? declared in .D' type=@[FlexibleNullability] kotlin.Float? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .E' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Double type=kotlin.Double value=2.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .F' type=kotlin.Number origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .G' type=kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): T of .H? declared in .H' type=kotlin.Int? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.kt.txt new file mode 100644 index 00000000000..854961547e1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.fir.kt.txt @@ -0,0 +1,126 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + +} + +class C : Java1, Java2 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, Java2 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(t: T) { + } + +} + +class E : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Number { + return 2 + } + +} + +class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 3 + } + +} + +interface KotlinInterface { + abstract fun bar(): T? + + abstract fun foo(t: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.foo(t = null) + a.foo(t = 1) + a.bar() /*~> Unit */ + b.foo(t = null) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = 1.1F) + d.bar() /*~> Unit */ + e.foo(t = 1) + e.bar() /*~> Unit */ + f.foo(t = 2.2) + f.bar() /*~> Unit */ + g.foo(t = 2) + g.bar() /*~> Unit */ + h.foo(t = null) + h.bar() /*~> Unit */ + i.foo(t = null) + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.ir.txt new file mode 100644 index 00000000000..266405b6836 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.ir.txt @@ -0,0 +1,415 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.C>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .C? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.C>) returnType:@[FlexibleNullability] T of .C? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.C> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1.C>, t:@[FlexibleNullability] T of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.C> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .C? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number; kotlin.Comparable.D>] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .D? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.D> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>, t:T of .D) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:t index:0 type:T of .D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Number? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Number? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, t:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Number + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Number declared in .F' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1.H>; .KotlinInterface.H>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H.H> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.H.H> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .H? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1.H>; .KotlinInterface.H>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface.H>) returnType:T of .H? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.H> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1.H>, t:@[FlexibleNullability] T of .H?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.H> + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] T of .H? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (t: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun bar (): T of .KotlinInterface? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .I' + CONST Int type=kotlin.Int value=3 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface? + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, t:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:t index:0 type:T of .KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .C? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Float type=kotlin.Float value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] T of .D? declared in .D' type=@[FlexibleNullability] kotlin.Float? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Number? declared in .E' type=@[FlexibleNullability] kotlin.Number? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Double type=kotlin.Double value=2.2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Number declared in .F' type=kotlin.Number origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int? declared in .G' type=kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): T of .H? declared in .H' type=kotlin.Int? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt new file mode 100644 index 00000000000..0f84b11266c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt @@ -0,0 +1,83 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(T t) { } + public T bar() { + return null; + } +} + +// FILE: Java2.java +public interface Java2 { + public void foo(T t); + public T bar(); +} + +// FILE: Java3.java +public interface Java3 { + public void foo(T t); + public T bar(); +} + +// FILE: 1.kt +class A: Java1(), Java2 //Kotlin ← Java1, Java2 + +class B : Java1(), Java2 { + override fun bar(): Int { + return 1 + } +} + +class C: Java1(), Java2 where T: Number, T: Comparable + +class D: Java1(), Java2 where T: Number, T: Comparable { + override fun foo(t: T) { } +} + +class E : Java1(), Java3 + +class F : Java1(), Java3 { + override fun bar(): Number { + return 2 + } +} + +class G : Java1(), KotlinInterface // Kotlin ← Java, Kotlin2 + +class H: Java1(), KotlinInterface + +class I : Java1(), KotlinInterface { + override fun bar(): Int { + return 3 + } +} + +interface KotlinInterface{ + fun foo(t: T) + fun bar(): T? +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.foo(null) + a.foo(1) + a.bar() + b.foo(null) + b.foo(1) + b.bar() + c.foo(null) + c.foo(1) + c.bar() + d.foo(1.1F) + d.bar() + e.foo(1) + e.bar() + f.foo(2.2) + f.bar() + g.foo(2) + g.bar() + h.foo(null) + h.bar() + i.foo(null) + i.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt.txt new file mode 100644 index 00000000000..88e406e8a04 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt.txt @@ -0,0 +1,126 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + +} + +class C : Java1, Java2 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class D : Java1, Java2 where T : Number, T : Comparable { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun foo(t: T) { + } + +} + +class E : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Number?>() + /* () */ + + } + +} + +class F : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Number?>() + /* () */ + + } + + override fun bar(): Number { + return 2 + } + +} + +class G : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): Int { + return 3 + } + +} + +interface KotlinInterface { + abstract fun bar(): T? + + abstract fun foo(t: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.foo(t = null) + a.foo(t = 1) + a.bar() /*~> Unit */ + b.foo(t = null) + b.foo(t = 1) + b.bar() /*~> Unit */ + c.foo(t = null) + c.foo(t = 1) + c.bar() /*~> Unit */ + d.foo(t = 1.1F) + d.bar() /*~> Unit */ + e.foo(t = 1) + e.bar() /*~> Unit */ + f.foo(t = 2.2) + f.bar() /*~> Unit */ + g.foo(t = 2) + g.bar() /*~> Unit */ + h.foo(t = null) + h.bar() /*~> Unit */ + i.foo(t = null) + i.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.sig.kt.txt new file mode 100644 index 00000000000..052e444c332 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.sig.kt.txt @@ -0,0 +1,239 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int? + // Public signature: /A.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: A#foo(kotlin.Int?){} + // Public signature: /A.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java2 where T : Number, T : Comparable { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}1:0? + // Public signature: /C.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: C#foo(1:0?){} + // Public signature: /C.foo|-131141195414545503[0] + // Public signature debug description: foo(1:0?){} + /* fake */ override fun foo(t: T?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2 where T : Number, T : Comparable { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}1:0? + // Public signature: /D.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: D#foo(1:0){} + // Public signature: /D.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + override fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Number? + // Public signature: /E.bar|-1679062975122643439[0] + // Public signature debug description: bar(){}kotlin.Number? + /* fake */ override fun bar(): Number? + + // CHECK: + // Mangled name: E#foo(kotlin.Number?){} + // Public signature: /E.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.Number?){} + // Public signature: /F.foo|2831167016207060641[0] + // Public signature debug description: foo(kotlin.Number?){} + /* fake */ override fun foo(t: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Number + // Public signature: /F.bar|-5440891288638820662[0] + // Public signature debug description: bar(){}kotlin.Number + override fun bar(): Number + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Int? + // Public signature: /G.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: G#foo(kotlin.Int?){} + // Public signature: /G.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}1:0? + // Public signature: /H.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + /* fake */ override fun bar(): T? + + // CHECK: + // Mangled name: H#foo(1:0?){} + // Public signature: /H.foo|-131141195414545503[0] + // Public signature debug description: foo(1:0?){} + /* fake */ override fun foo(t: T?): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(kotlin.Int?){} + // Public signature: /I.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Int + // Public signature: /I.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}1:0? + // Public signature: /KotlinInterface.bar|-1411410744407944436[0] + // Public signature debug description: bar(){}1:0? + abstract fun bar(): T? + + // CHECK: + // Mangled name: KotlinInterface#foo(1:0){} + // Public signature: /KotlinInterface.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + abstract fun foo(t: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I){} +// Public signature: /test|652388941617652070[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.ir.txt new file mode 100644 index 00000000000..ac5e6de8d80 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.ir.txt @@ -0,0 +1,667 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList? + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList? declared in .B' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.List) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .D' + CALL 'public final fun emptyList (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Any? + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.collections.List declared in .F.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + value: GET_VAR ': kotlin.collections.List declared in .F.' type=kotlin.collections.List origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.collections.List) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .F' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + public abstract a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + public abstract fun (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + public abstract a: kotlin.collections.List<*> + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.collections.List declared in .H.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + public abstract fun (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.collections.List declared in .H.' type=kotlin.collections.List origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.collections.List) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.List) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .J' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.J, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, a:kotlin.collections.List<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List? [val] + CALL 'public open fun bar (): kotlin.collections.MutableList? declared in .B' type=kotlin.collections.MutableList? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.List): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .D' type=kotlin.collections.List origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .E' type=kotlin.collections.List origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .F' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .G' type=kotlin.collections.List origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.List): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k8 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .H' type=kotlin.collections.List origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .J' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.kt.txt new file mode 100644 index 00000000000..64e553e3109 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.kt.txt @@ -0,0 +1,182 @@ +class A : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList? { + return mutableListOf() + } + + override fun foo(a: MutableList?) { + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: List) { + } + + override var a: List + override get(): List { + return emptyList() + } + override set(value: List) { + } + +} + +abstract class E : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java2, KotlinInterface { + override var a: List + field = a + override get + override set + + constructor(a: List) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +abstract class G : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface, KotlinInterface2 { + override var a: List + field = a + override get + override set + + constructor(a: List) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List) { + } + +} + +class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class J : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [""]) + } + + override fun foo(a: MutableList) { + } + +} + +interface KotlinInterface { + abstract fun bar(): List + + abstract fun foo(a: List) + + abstract var a: List + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(): List<*> + + abstract fun foo(a: List<*>) + + abstract var a: List<*> + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() /*!! @FlexibleMutability @RawType MutableList */ + b.foo(a = mutableListOf(elements = [null])) + b.foo(a = null) + val k2: List? = b.bar() + c.foo(a = listOf(element = null)) + c.foo(a = null) + val k3: List = c.bar() + d.foo(a = listOf(element = null)) + val k4: List = d.bar() + e.foo(a = listOf(element = null)) + val k5: List = e.bar() + f.foo(a = listOf(element = null)) + val k6: List = f.bar() + g.foo(a = listOf(element = null)) + val k7: List = g.bar() + h.foo(a = listOf(element = null)) + val k8: List = h.bar() + i.foo(a = listOf(element = null)) + val k9: List = i.bar() /*!! @FlexibleMutability @RawType MutableList */ + j.foo(a = mutableListOf(elements = [null])) + val k10: List = j.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..56eb5b63cde --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.fir.sig.kt.txt @@ -0,0 +1,409 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java3 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList? + // Public signature: /B.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + override fun bar(): MutableList? + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.List + // Public signature: /C.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList?){} + // Public signature: /C.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.List + // Public signature: /C.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: C#(kotlin.collections.List){} + // Public signature: /C.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.List + // Public signature: /D.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + override fun bar(): List + + // CHECK: + // Mangled name: D#foo(kotlin.collections.List){} + // Public signature: /D.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + override fun foo(a: List): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.List + // Public signature: /D.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get(): List + // CHECK: + // Mangled name: D#(kotlin.collections.List){} + // Public signature: /D.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set(value: List): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.List + // Public signature: /E.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.List + // Public signature: /E.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: E#(kotlin.collections.List){} + // Public signature: /E.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.List + // Public signature: /F.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get + // CHECK: + // Mangled name: F#(kotlin.collections.List){} + // Public signature: /F.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set + + // CHECK: + // Mangled name: F#(kotlin.collections.List){} + // Public signature: /F.|-5478500930078789428[0] + // Public signature debug description: (kotlin.collections.List){} + constructor(a: List) /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList?){} + // Public signature: /F.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.MutableList + // Public signature: /F.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.List<*> + // Public signature: /G.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: G#foo(kotlin.collections.MutableList?){} + // Public signature: /G.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.collections.List + // Public signature: /G.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: G#(kotlin.collections.List){} + // Public signature: /G.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.collections.List + // Public signature: /H.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get + // CHECK: + // Mangled name: H#(kotlin.collections.List){} + // Public signature: /H.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set + + // CHECK: + // Mangled name: H#(kotlin.collections.List){} + // Public signature: /H.|-5478500930078789428[0] + // Public signature debug description: (kotlin.collections.List){} + constructor(a: List) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.List<*> + // Public signature: /H.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: H#foo(kotlin.collections.List){} + // Public signature: /H.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + override fun foo(a: List): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, Java2, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.collections.MutableList? + // Public signature: /I.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: I#foo(kotlin.collections.MutableList?){} + // Public signature: /I.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java1, Java2, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.collections.MutableList + // Public signature: /J.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: J#foo(kotlin.collections.MutableList){} + // Public signature: /J.foo|-988911284811620369[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.List + // Public signature: /KotlinInterface.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + abstract fun bar(): List + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.List){} + // Public signature: /KotlinInterface.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + abstract fun foo(a: List): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: List + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.List + // Public signature: /KotlinInterface.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.collections.List){} + // Public signature: /KotlinInterface.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.List<*> + // Public signature: /KotlinInterface2.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + abstract fun bar(): List<*> + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.collections.List<*>){} + // Public signature: /KotlinInterface2.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + abstract fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: List<*> + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.List<*> + // Public signature: /KotlinInterface2.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.collections.List<*>){} + // Public signature: /KotlinInterface2.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.ir.txt new file mode 100644 index 00000000000..dbbe99a6ed4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.ir.txt @@ -0,0 +1,697 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList? + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList? declared in .B' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.List) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .D' + CALL 'public final fun emptyList (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Any? + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.collections.List declared in .F.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + value: GET_VAR ': kotlin.collections.List declared in .F.' type=kotlin.collections.List origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.collections.List) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .F' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.collections.List + public abstract a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + public abstract fun (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.collections.List + public abstract a: kotlin.collections.List<*> + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.collections.List declared in .H.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + public abstract fun (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.collections.List declared in .H.' type=kotlin.collections.List origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.collections.List) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List<*> declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.List) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .J' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.J, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, a:kotlin.collections.List<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<*> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<*> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List? [val] + CALL 'public open fun bar (): kotlin.collections.MutableList? declared in .B' type=kotlin.collections.MutableList? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.List): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .D' type=kotlin.collections.List origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .E' type=kotlin.collections.List origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .F' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .G' type=kotlin.collections.List origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.List): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k8 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .H' type=kotlin.collections.List origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<*> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<*> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .J' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt new file mode 100644 index 00000000000..2743d9c8ae9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt @@ -0,0 +1,116 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66120 + +// FILE: Java1.java +import java.util.*; + +public class Java1 { + public List a = new ArrayList(); + public void foo(List a) { }; + public List bar() { + return null; + }; +} + +// FILE: Java2.java +import java.util.*; + +public interface Java2 { + List a = new ArrayList(); + void foo(List a); + List bar(); +} + +// FILE: Java3.java +import java.util.*; + +public interface Java3 { + List a = new ArrayList(1); + void foo(List a); + List bar(); +} + +// FILE: 1.kt +class A : Java1(), Java3 //Kotlin ← Java1, Java2 + +class B : Java1(), Java3 { + override fun bar(): MutableList? { + return mutableListOf() + } + override fun foo(a: MutableList?) { } +} + +abstract class C: Java1(), KotlinInterface //Kotlin ← Java, Kotlin2 + +class D : Java1(), KotlinInterface { + override var a: List + get() = emptyList() + set(value) {} + override fun foo(a: List) { } + override fun bar(): List { + return null!! + } +} + +abstract class E: Java1(), Java2, KotlinInterface //Kotlin ← Java1, Java2, Kotlin2 + +class F(override var a: List) : Java1(), Java2, KotlinInterface { + override fun bar(): MutableList { + return mutableListOf(1) + } +} + +abstract class G : Java1(), KotlinInterface, KotlinInterface2 //Kotlin ← Java, Kotlin1, Kotlin2 + +class H(override var a: List) : Java1(), KotlinInterface, KotlinInterface2 { + override fun foo(a: List) { } +} + +class I : Java1(), Java2, Java3 //Kotlin ← Java1, Java2, Java3 + +class J : Java1(), Java2, Java3 { + override fun foo(a: MutableList) { } + override fun bar(): MutableList { + return mutableListOf("") + } +} + +interface KotlinInterface { + var a: List + fun foo(a: List) + fun bar(): List +} + +interface KotlinInterface2 { + var a: List<*> + fun foo(a: List<*>) + fun bar(): List<*> +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo(null) + a.foo(mutableListOf(null)) + val k: List = a.bar() + b.foo(mutableListOf(null)) + b.foo(null) + val k2: List? = b.bar() + c.foo(listOf(null)) + c.foo(null) + val k3: List = c.bar() + d.foo(listOf(null)) + val k4: List = d.bar() + e.foo(listOf(null)) + val k5: List = e.bar() + f.foo(listOf(null)) + val k6: List = f.bar() + g.foo(listOf(null)) + val k7: List = g.bar() + h.foo(listOf(null)) + val k8: List = h.bar() + i.foo(listOf(null)) + val k9: List = i.bar() + j.foo(mutableListOf(null)) + val k10: List = j.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt.txt new file mode 100644 index 00000000000..96c3bb6fa62 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt.txt @@ -0,0 +1,182 @@ +class A : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList? { + return mutableListOf() + } + + override fun foo(a: MutableList?) { + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: List) { + } + + override var a: List + override get(): List { + return emptyList() + } + override set(value: List) { + } + +} + +abstract class E : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, Java2, KotlinInterface { + override var a: List + field = a + override get + override set + + constructor(a: List) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +abstract class G : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, KotlinInterface, KotlinInterface2 { + override var a: List + field = a + override get + override set + + constructor(a: List) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List) { + } + +} + +class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class J : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [""]) + } + + override fun foo(a: MutableList) { + } + +} + +interface KotlinInterface { + abstract fun bar(): List + + abstract fun foo(a: List) + + abstract var a: List + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(): List<*> + + abstract fun foo(a: List<*>) + + abstract var a: List<*> + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() /*!! List<*> */ + b.foo(a = mutableListOf(elements = [null])) + b.foo(a = null) + val k2: List? = b.bar() + c.foo(a = listOf(element = null)) + c.foo(a = null) + val k3: List = c.bar() + d.foo(a = listOf(element = null)) + val k4: List = d.bar() + e.foo(a = listOf(element = null)) + val k5: List = e.bar() + f.foo(a = listOf(element = null)) + val k6: List = f.bar() + g.foo(a = listOf(element = null)) + val k7: List = g.bar() + h.foo(a = listOf(element = null)) + val k8: List = h.bar() + i.foo(a = listOf(element = null)) + val k9: List = i.bar() /*!! List<*> */ + j.foo(a = mutableListOf(elements = [null])) + val k10: List = j.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.sig.kt.txt new file mode 100644 index 00000000000..8b3da28b74c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.sig.kt.txt @@ -0,0 +1,409 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java3 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList? + // Public signature: /B.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + override fun bar(): MutableList? + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.List + // Public signature: /C.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList?){} + // Public signature: /C.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.List + // Public signature: /C.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: C#(kotlin.collections.List){} + // Public signature: /C.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.List + // Public signature: /D.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + override fun bar(): List + + // CHECK: + // Mangled name: D#foo(kotlin.collections.List){} + // Public signature: /D.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + override fun foo(a: List): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.List + // Public signature: /D.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get(): List + // CHECK: + // Mangled name: D#(kotlin.collections.List){} + // Public signature: /D.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set(value: List): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.List + // Public signature: /E.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.List + // Public signature: /E.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: E#(kotlin.collections.List){} + // Public signature: /E.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.List + // Public signature: /F.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get + // CHECK: + // Mangled name: F#(kotlin.collections.List){} + // Public signature: /F.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set + + // CHECK: + // Mangled name: F#(kotlin.collections.List){} + // Public signature: /F.|-5478500930078789428[0] + // Public signature debug description: (kotlin.collections.List){} + constructor(a: List) /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList?){} + // Public signature: /F.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.MutableList + // Public signature: /F.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.List + // Public signature: /G.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: G#foo(kotlin.collections.MutableList?){} + // Public signature: /G.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: List + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.collections.List + // Public signature: /G.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + // CHECK: + // Mangled name: G#(kotlin.collections.List){} + // Public signature: /G.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract /* fake */ override set(: List): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.collections.List + // Public signature: /H.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + override get + // CHECK: + // Mangled name: H#(kotlin.collections.List){} + // Public signature: /H.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + override set + + // CHECK: + // Mangled name: H#(kotlin.collections.List){} + // Public signature: /H.|-5478500930078789428[0] + // Public signature debug description: (kotlin.collections.List){} + constructor(a: List) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.List + // Public signature: /H.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK: + // Mangled name: H#foo(kotlin.collections.List){} + // Public signature: /H.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + override fun foo(a: List): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, Java2, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.collections.MutableList? + // Public signature: /I.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: I#foo(kotlin.collections.MutableList?){} + // Public signature: /I.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java1, Java2, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.collections.MutableList + // Public signature: /J.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: J#foo(kotlin.collections.MutableList){} + // Public signature: /J.foo|-988911284811620369[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.List + // Public signature: /KotlinInterface.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + abstract fun bar(): List + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.List){} + // Public signature: /KotlinInterface.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + abstract fun foo(a: List): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: List + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.List + // Public signature: /KotlinInterface.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.collections.List){} + // Public signature: /KotlinInterface.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.List<*> + // Public signature: /KotlinInterface2.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + abstract fun bar(): List<*> + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.collections.List<*>){} + // Public signature: /KotlinInterface2.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + abstract fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: List<*> + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.collections.List<*> + // Public signature: /KotlinInterface2.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.collections.List<*>){} + // Public signature: /KotlinInterface2.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.ir.txt new file mode 100644 index 00000000000..efc3d445d1a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.ir.txt @@ -0,0 +1,882 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .C' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.collections.List [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .F' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.G] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .G' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.G]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar3 (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .G + $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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.List declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .E' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .F' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.kt.txt new file mode 100644 index 00000000000..7a056dcf4e1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.kt.txt @@ -0,0 +1,223 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class B : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun foo(a: MutableList) { + } + +} + +class D : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class E : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun foo2(a: MutableList) { + } + +} + +abstract class G : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class H : G { + constructor() /* primary */ { + super/*G*/() + /* () */ + + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: MutableList) { + } + + override fun foo3(a: MutableList<*>) { + } + +} + +interface KotlinInterface { + abstract fun bar(): MutableList + + abstract fun bar2(): MutableList + + abstract fun bar3(): MutableList<*> + + abstract fun foo(a: MutableList) + + abstract fun foo2(a: MutableList) + + abstract fun foo3(a: MutableList<*>) + +} + +interface KotlinInterface2 { + abstract fun bar(): List + + abstract fun foo(a: List) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [1])) + a.foo(a = listOf(element = 1)) + a.bar() /*~> Unit */ + a.foo2(a = null) + a.foo2(a = mutableListOf(elements = [null])) + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + a.bar2() /*~> Unit */ + a.foo3(a = null) + a.foo3(a = mutableListOf(elements = [null])) + a.foo3(a = listOf(element = null)) + a.foo3(a = listOf(element = "")) + a.bar3() /*~> Unit */ + b.foo(a = null) + b.foo(a = mutableListOf(elements = [1])) + b.bar() /*~> Unit */ + b.foo2(a = null) + b.foo2(a = mutableListOf(elements = [null])) + b.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + b.bar2() /*~> Unit */ + b.foo3(a = null) + b.foo3(a = mutableListOf(elements = [null])) + b.foo3(a = mutableListOf(elements = [""])) + b.bar3() /*~> Unit */ + c.foo(a = mutableListOf(elements = [1])) + c.bar() /*~> Unit */ + d.foo(a = null) + d.foo(a = mutableListOf(elements = [1])) + d.bar() /*~> Unit */ + d.foo2(a = null) + d.foo2(a = mutableListOf(elements = [null])) + d.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + d.bar2() /*~> Unit */ + d.foo3(a = null) + d.foo3(a = mutableListOf(elements = [null])) + d.foo3(a = mutableListOf(elements = [""])) + d.bar3() /*~> Unit */ + e.foo(a = null) + e.foo(a = mutableListOf(elements = [1])) + e.foo(a = listOf(element = 1)) + e.bar() /*~> Unit */ + e.foo2(a = null) + e.foo2(a = mutableListOf(elements = [null])) + e.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + e.bar2() /*~> Unit */ + e.foo3(a = null) + e.foo3(a = mutableListOf(elements = [null])) + e.foo3(a = listOf(element = null)) + e.foo3(a = listOf(element = "")) + e.bar3() /*~> Unit */ + f.foo2(a = mutableListOf(elements = [null])) + f.bar2() /*~> Unit */ + g.foo(a = null) + g.foo(a = mutableListOf(elements = [1])) + g.foo(a = listOf(element = 1)) + g.bar() /*~> Unit */ + g.foo2(a = null) + g.foo2(a = mutableListOf(elements = [null])) + g.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + g.bar2() /*~> Unit */ + g.foo3(a = null) + g.foo3(a = mutableListOf(elements = [null])) + g.foo3(a = listOf(element = null)) + g.foo3(a = listOf(element = "")) + g.bar3() /*~> Unit */ + h.foo(a = mutableListOf(elements = [1])) + h.foo2(a = mutableListOf(elements = [1])) + h.foo3(a = mutableListOf(elements = [""])) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..5b168102488 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.fir.sig.kt.txt @@ -0,0 +1,449 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.collections.MutableList?){} + // Public signature: /A.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /A.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList + // Public signature: /A.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.collections.MutableList + // Public signature: /A.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableList + // Public signature: /A.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, KotlinInterface { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.collections.MutableList + // Public signature: /B.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /B.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.collections.MutableList?){} + // Public signature: /B.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /B.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.collections.MutableList + // Public signature: /C.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /C.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: C#foo2(kotlin.collections.MutableList?){} + // Public signature: /C.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /C.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList + // Public signature: /C.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList){} + // Public signature: /C.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList?){} + // Public signature: /D.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.collections.MutableList?){} + // Public signature: /D.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /D.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList + // Public signature: /D.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.collections.MutableList + // Public signature: /D.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.MutableList + // Public signature: /D.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.List + // Public signature: /E.bar|8044708431466238444[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK JVM_IR: + // Mangled name: E#bar2(){}kotlin.collections.MutableList + // Public signature: /E.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: E#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /E.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo2(kotlin.collections.MutableList?){} + // Public signature: /E.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /E.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.List + // Public signature: /F.bar|8044708431466238444[0] + // Public signature debug description: bar(){}kotlin.collections.List + /* fake */ override fun bar(): List + + // CHECK JVM_IR: + // Mangled name: F#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /F.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList?){} + // Public signature: /F.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: F#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /F.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar2(){}kotlin.collections.MutableList + // Public signature: /F.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK: + // Mangled name: F#foo2(kotlin.collections.MutableList){} + // Public signature: /F.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, Java2, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(kotlin.collections.MutableList?){} + // Public signature: /G.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo2(kotlin.collections.MutableList?){} + // Public signature: /G.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /G.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.MutableList + // Public signature: /G.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar2(){}kotlin.collections.MutableList + // Public signature: /G.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar3(){}kotlin.collections.MutableList + // Public signature: /G.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : G { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.MutableList + // Public signature: /H.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar2(){}kotlin.collections.MutableList + // Public signature: /H.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar3(){}kotlin.collections.MutableList + // Public signature: /H.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + /* fake */ override fun bar3(): MutableList + + // CHECK: + // Mangled name: H#foo(kotlin.collections.MutableList){} + // Public signature: /H.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: H#foo2(kotlin.collections.MutableList){} + // Public signature: /H.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: H#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /H.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + override fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + abstract fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar2(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + abstract fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /KotlinInterface.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + abstract fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + abstract fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo2(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + abstract fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /KotlinInterface.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + abstract fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.List + // Public signature: /KotlinInterface2.bar|8044708431466238444[0] + // Public signature debug description: bar(){}kotlin.collections.List + abstract fun bar(): List + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.collections.List){} + // Public signature: /KotlinInterface2.foo|-1316865397397104720[0] + // Public signature debug description: foo(kotlin.collections.List){} + abstract fun foo(a: List): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.ir.txt new file mode 100644 index 00000000000..b66e0030348 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.ir.txt @@ -0,0 +1,882 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .A' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .C' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .F' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .G' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.G] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .G' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.G]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar3 (): kotlin.collections.MutableList declared in .G + $this: VALUE_PARAMETER name: type:.G + 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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .G + $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 .G + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .E' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .F' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.String + element: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt new file mode 100644 index 00000000000..a87c30af985 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt @@ -0,0 +1,197 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66120 + +// FILE: Java1.java +import java.util.*; +public class Java1 { + public void foo(List a) { } + public List bar(){ + return null; + } + public void foo2(List a) { } + public List bar2(){ + return null; + } + + public void foo3(List a) {} + public List bar3(){ + return null; + } +} + +// FILE: Java2.java +import java.util.List; + +public interface Java2 { + public List bar(); + public List bar2(); + public List bar3(); +} + +// FILE: Java3.java +import java.util.List; + +public interface Java3 { + public List bar(); + public void foo3(List a); + public List bar3(); +} + +// FILE: 1.kt +class A : Java1(), Java2 { //Kotlin ← Java1, Java2 + override fun bar(): MutableList { + return mutableListOf(1) + } + override fun bar2(): MutableList { + return mutableListOf(1.1) + } + override fun bar3(): MutableList { + return mutableListOf(1) + } +} + +class B : Java1() , KotlinInterface //Kotlin ← Java, Kotlin2 + +class C : Java1() , KotlinInterface { + override fun foo(a: MutableList) { } + override fun bar(): MutableList { + return mutableListOf(1) + } +} + +class D : Java1(), Java2, KotlinInterface { //Kotlin ← Java1, Java2, Kotlin2 + override fun bar(): MutableList { + return mutableListOf(1) + } + override fun bar2(): MutableList { + return mutableListOf(1.1) + } + override fun bar3(): MutableList { + return mutableListOf(1) + } +} + +class E : Java1(), KotlinInterface, KotlinInterface2 //Kotlin ← Java, Kotlin1, Kotlin2 + +class F : Java1(), KotlinInterface, KotlinInterface2 { + override fun bar2(): MutableList { + return mutableListOf(1) + } + override fun foo2(a: MutableList) { } +} + +abstract class G : Java1(), Java2, Java3 { //Kotlin ← Java1, Java2, Java3 + override fun bar(): MutableList { + return mutableListOf(1) + } + override fun bar2(): MutableList { + return mutableListOf(1.1) + } + override fun bar3(): MutableList { + return mutableListOf(1) + } +} + +class H : G() { + override fun foo(a: MutableList) { } + override fun foo2(a: MutableList) { } + override fun foo3(a: MutableList<*>) { } +} + + +interface KotlinInterface { + fun foo(a: MutableList) + fun bar(): MutableList + + fun foo2(a: MutableList) + fun bar2(): MutableList + + fun foo3(a: MutableList<*>) + fun bar3(): MutableList<*> +} + +interface KotlinInterface2 { + fun foo(a: List) + fun bar(): List +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H){ + a.foo(null) + a.foo(mutableListOf(1)) + a.foo(listOf(1)) + a.bar() + a.foo2(null) + a.foo2(mutableListOf(null)) + a.foo2(mutableListOf(1.1)) + a.bar2() + a.foo3(null) + a.foo3(mutableListOf(null)) + a.foo3(listOf(null)) + a.foo3(listOf("")) + a.bar3() + + b.foo(null) + b.foo(mutableListOf(1)) + b.bar() + b.foo2(null) + b.foo2(mutableListOf(null)) + b.foo2(mutableListOf(1.1)) + b.bar2() + b.foo3(null) + b.foo3(mutableListOf(null)) + b.foo3(mutableListOf("")) + b.bar3() + + c.foo(mutableListOf(1)) + c.bar() + + d.foo(null) + d.foo(mutableListOf(1)) + d.bar() + d.foo2(null) + d.foo2(mutableListOf(null)) + d.foo2(mutableListOf(1.1)) + d.bar2() + d.foo3(null) + d.foo3(mutableListOf(null)) + d.foo3(mutableListOf("")) + d.bar3() + + e.foo(null) + e.foo(mutableListOf(1)) + e.foo(listOf(1)) + e.bar() + e.foo2(null) + e.foo2(mutableListOf(null)) + e.foo2(mutableListOf(1.1)) + e.bar2() + e.foo3(null) + e.foo3(mutableListOf(null)) + e.foo3(listOf(null)) + e.foo3(listOf("")) + e.bar3() + + f.foo2(mutableListOf(null)) + f.bar2() + + g.foo(null) + g.foo(mutableListOf(1)) + g.foo(listOf(1)) + g.bar() + g.foo2(null) + g.foo2(mutableListOf(null)) + g.foo2(mutableListOf(1.1)) + g.bar2() + g.foo3(null) + g.foo3(mutableListOf(null)) + g.foo3(listOf(null)) + g.foo3(listOf("")) + g.bar3() + + h.foo(mutableListOf(1)) + h.foo2(mutableListOf(1)) + h.foo3(mutableListOf("")) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt.txt new file mode 100644 index 00000000000..7a056dcf4e1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt.txt @@ -0,0 +1,223 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class B : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun foo(a: MutableList) { + } + +} + +class D : Java1, Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class E : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun foo2(a: MutableList) { + } + +} + +abstract class G : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1.1]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class H : G { + constructor() /* primary */ { + super/*G*/() + /* () */ + + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: MutableList) { + } + + override fun foo3(a: MutableList<*>) { + } + +} + +interface KotlinInterface { + abstract fun bar(): MutableList + + abstract fun bar2(): MutableList + + abstract fun bar3(): MutableList<*> + + abstract fun foo(a: MutableList) + + abstract fun foo2(a: MutableList) + + abstract fun foo3(a: MutableList<*>) + +} + +interface KotlinInterface2 { + abstract fun bar(): List + + abstract fun foo(a: List) + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [1])) + a.foo(a = listOf(element = 1)) + a.bar() /*~> Unit */ + a.foo2(a = null) + a.foo2(a = mutableListOf(elements = [null])) + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + a.bar2() /*~> Unit */ + a.foo3(a = null) + a.foo3(a = mutableListOf(elements = [null])) + a.foo3(a = listOf(element = null)) + a.foo3(a = listOf(element = "")) + a.bar3() /*~> Unit */ + b.foo(a = null) + b.foo(a = mutableListOf(elements = [1])) + b.bar() /*~> Unit */ + b.foo2(a = null) + b.foo2(a = mutableListOf(elements = [null])) + b.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + b.bar2() /*~> Unit */ + b.foo3(a = null) + b.foo3(a = mutableListOf(elements = [null])) + b.foo3(a = mutableListOf(elements = [""])) + b.bar3() /*~> Unit */ + c.foo(a = mutableListOf(elements = [1])) + c.bar() /*~> Unit */ + d.foo(a = null) + d.foo(a = mutableListOf(elements = [1])) + d.bar() /*~> Unit */ + d.foo2(a = null) + d.foo2(a = mutableListOf(elements = [null])) + d.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + d.bar2() /*~> Unit */ + d.foo3(a = null) + d.foo3(a = mutableListOf(elements = [null])) + d.foo3(a = mutableListOf(elements = [""])) + d.bar3() /*~> Unit */ + e.foo(a = null) + e.foo(a = mutableListOf(elements = [1])) + e.foo(a = listOf(element = 1)) + e.bar() /*~> Unit */ + e.foo2(a = null) + e.foo2(a = mutableListOf(elements = [null])) + e.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + e.bar2() /*~> Unit */ + e.foo3(a = null) + e.foo3(a = mutableListOf(elements = [null])) + e.foo3(a = listOf(element = null)) + e.foo3(a = listOf(element = "")) + e.bar3() /*~> Unit */ + f.foo2(a = mutableListOf(elements = [null])) + f.bar2() /*~> Unit */ + g.foo(a = null) + g.foo(a = mutableListOf(elements = [1])) + g.foo(a = listOf(element = 1)) + g.bar() /*~> Unit */ + g.foo2(a = null) + g.foo2(a = mutableListOf(elements = [null])) + g.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) + g.bar2() /*~> Unit */ + g.foo3(a = null) + g.foo3(a = mutableListOf(elements = [null])) + g.foo3(a = listOf(element = null)) + g.foo3(a = listOf(element = "")) + g.bar3() /*~> Unit */ + h.foo(a = mutableListOf(elements = [1])) + h.foo2(a = mutableListOf(elements = [1])) + h.foo3(a = mutableListOf(elements = [""])) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.sig.kt.txt new file mode 100644 index 00000000000..ddc87e1060d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.sig.kt.txt @@ -0,0 +1,449 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.collections.MutableList?){} + // Public signature: /A.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /A.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList + // Public signature: /A.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.collections.MutableList + // Public signature: /A.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableList + // Public signature: /A.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, KotlinInterface { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.collections.MutableList + // Public signature: /B.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /B.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.collections.MutableList?){} + // Public signature: /B.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /B.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.collections.MutableList + // Public signature: /C.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /C.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: C#foo2(kotlin.collections.MutableList?){} + // Public signature: /C.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /C.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList + // Public signature: /C.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList){} + // Public signature: /C.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList?){} + // Public signature: /D.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.collections.MutableList?){} + // Public signature: /D.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /D.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList + // Public signature: /D.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.collections.MutableList + // Public signature: /D.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.MutableList + // Public signature: /D.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.MutableList + // Public signature: /E.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: E#bar2(){}kotlin.collections.MutableList + // Public signature: /E.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: E#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /E.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo2(kotlin.collections.MutableList?){} + // Public signature: /E.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /E.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.MutableList + // Public signature: /F.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: F#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /F.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList?){} + // Public signature: /F.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: F#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /F.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar2(){}kotlin.collections.MutableList + // Public signature: /F.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK: + // Mangled name: F#foo2(kotlin.collections.MutableList){} + // Public signature: /F.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1, Java2, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(kotlin.collections.MutableList?){} + // Public signature: /G.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo2(kotlin.collections.MutableList?){} + // Public signature: /G.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /G.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.MutableList + // Public signature: /G.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar2(){}kotlin.collections.MutableList + // Public signature: /G.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar3(){}kotlin.collections.MutableList + // Public signature: /G.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : G { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.MutableList + // Public signature: /H.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar2(){}kotlin.collections.MutableList + // Public signature: /H.bar2|2098999375857405603[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar3(){}kotlin.collections.MutableList + // Public signature: /H.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + /* fake */ override fun bar3(): MutableList + + // CHECK: + // Mangled name: H#foo(kotlin.collections.MutableList){} + // Public signature: /H.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: H#foo2(kotlin.collections.MutableList){} + // Public signature: /H.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: H#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /H.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + override fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + abstract fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar2(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + abstract fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /KotlinInterface.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + abstract fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + abstract fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo2(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + abstract fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /KotlinInterface.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + abstract fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.List + // Public signature: /KotlinInterface2.bar|8044708431466238444[0] + // Public signature debug description: bar(){}kotlin.collections.List + abstract fun bar(): List + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.collections.List){} + // Public signature: /KotlinInterface2.foo|-1316865397397104720[0] + // Public signature debug description: foo(kotlin.collections.List){} + abstract fun foo(a: List): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..d124ccd4789 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,683 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.List<*> + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List<*> declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.collections.List<*> + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.collections.List<*> + public abstract a: kotlin.collections.List + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.List + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List declared in .F' + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[.KotlinClass]' type=kotlin.collections.List<*> origin=null + $this: GET_VAR ': .F declared in .F.bar' type=.F origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java4 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .J' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=3 + FUN name:foo visibility:public modality:OPEN <> ($this:.J, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private + EXPRESSION_BODY + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private' type=kotlin.collections.List<*> origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.collections.List<*> declared in .KotlinClass.' type=kotlin.collections.List<*> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List<*> declared in .KotlinClass' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .A' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .A' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .B' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .C' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .D' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .E' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .F' type=kotlin.collections.List origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .G' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k8 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .H' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList + CALL 'public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .J' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..efda53d388f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,186 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List<*> { + return mutableListOf(elements = [2]) + } + + override fun foo(a: List<*>) { + } + + override var a: List<*> + override get(): List<*> { + return mutableListOf(elements = [2]) + } + override set(value: List<*>) { + } + +} + +class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>) { + } + + override var a: List<*> + override get(): List<*> { + return mutableListOf(elements = [2]) + } + override set(value: List<*>) { + } + +} + +class E : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List { + return super.bar() + } + +} + +class G : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>) { + } + +} + +abstract class I : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class J : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [3]) + } + + override fun foo(a: MutableList?) { + } + +} + +open class KotlinClass { + open var a: List<*> + field = mutableListOf(elements = ["1"]) + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): List<*> { + return mutableListOf(elements = ["1"]) + } + + open fun foo(a: List<*>) { + } + +} + +interface KotlinInterface { + abstract fun bar(): List + + abstract fun foo(a: List) + + abstract var a: List + abstract get + abstract set + +} + +interface KotlinInterface2 : Java2 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.bar() /*~> Unit */ + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() + b.foo(a = mutableListOf(elements = [null])) + val k2: List = b.bar() + c.foo(a = listOf(element = null)) + val k3: List = c.bar() + d.foo(a = mutableListOf(elements = [null])) + val k4: List = d.bar() + e.foo(a = mutableListOf(elements = [null])) + val k5: List = e.bar() + f.foo(a = mutableListOf(elements = [null])) + val k6: List = f.bar() + g.foo(a = mutableListOf(elements = [null])) + val k7: List = g.bar() + h.foo(a = mutableListOf(elements = [null])) + val k8: List = h.bar() + i.foo(a = mutableListOf(elements = [null])) + val k9: List = i.bar() /*!! @FlexibleMutability @RawType MutableList */ + j.foo(a = mutableListOf(elements = [null])) + val k10: List = j.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..416169125a6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,683 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.List<*> + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List<*> declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.collections.List<*> + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + public abstract a: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.collections.List<*> + public abstract a: kotlin.collections.List + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + public abstract fun (): kotlin.collections.List declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun (: kotlin.collections.List): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.collections.List + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List declared in .F' + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .Java1' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java1 modality:OPEN visibility:public superTypes:[.KotlinClass]' type=kotlin.collections.List<*> origin=null + $this: GET_VAR ': .F declared in .F.bar' type=.F origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar (): kotlin.collections.List<*> declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.collections.List<*> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java4 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .J' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=3 + FUN name:foo visibility:public modality:OPEN <> ($this:.J, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private + EXPRESSION_BODY + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List<*> declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private' type=kotlin.collections.List<*> origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.collections.List<*>) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.collections.List<*> + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.collections.List<*> visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.collections.List<*> declared in .KotlinClass.' type=kotlin.collections.List<*> origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.List<*> declared in .KotlinClass' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.List) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.collections.List) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.collections.List + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .A' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .A' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .B' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .C' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .D' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .E' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List declared in .F' type=kotlin.collections.List origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k7 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .G' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: kotlin.collections.List<*>): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k8 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.List<*> declared in .H' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<*> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<*> + CALL 'public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .J' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..034baf2ebf3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt @@ -0,0 +1,107 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: Java2.java +import java.util.*; + +public interface Java2 { + List a = new ArrayList(); + void foo(List a); + List bar(); +} + +// FILE: Java3.java +public interface Java3 extends Java2 { } + +// FILE: Java4.java +public interface Java4 extends KotlinInterface2 { } + +// FILE: 1.kt +class A : Java1(), Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class B : Java1(), Java2 { + override fun bar(): List<*> { + return mutableListOf(2) + } + override var a: List<*> + get() = mutableListOf(2) + set(value) {} + override fun foo(a: List<*>) { } +} + +class C : Java1(), KotlinInterface // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class D : Java1(), KotlinInterface { + override var a: List<*> + get() = mutableListOf(2) + set(value) {} + override fun foo(a: List<*>) { } +} + +class E : Java1(), KotlinInterface2 // Kotlin ← Java, Kotlin2 ← Java2, Kotlin3 + +class F : Java1(), KotlinInterface2 { + override fun bar(): List { + return super.bar() + } +} + +class G : Java1(), Java3 // Kotlin ← Java1, Java2 ← Java3, Kotlin2 + +class H : Java1(), Java3 { + override fun foo(a: List<*>) { } +} + +abstract class I : Java4 //Kotlin ← Java ← Kotlin ← Java + +class J : Java4 { + override fun foo(a: MutableList?) { } + + override fun bar(): MutableList { + return mutableListOf(3) + } +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.bar() + a.foo(mutableListOf(null)) + val k: List = a.bar() + b.foo(mutableListOf(null)) + val k2: List = b.bar() + c.foo(listOf(null)) + val k3: List = c.bar() + d.foo(mutableListOf(null)) + val k4: List = d.bar() + e.foo(mutableListOf(null)) + val k5: List = e.bar() + f.foo(mutableListOf(null)) + val k6: List = f.bar() + g.foo(mutableListOf(null)) + val k7: List = g.bar() + h.foo(mutableListOf(null)) + val k8: List = h.bar() + i.foo(mutableListOf(null)) + val k9: List = i.bar() + j.foo(mutableListOf(null)) + val k10: List = j.bar() +} + +open class KotlinClass { + open var a: List<*> = mutableListOf("1") + open fun foo(a: List<*>) { + } + open fun bar(): List<*> { + return mutableListOf("1") + } +} + +interface KotlinInterface { + var a: List + fun foo(a: List) + fun bar(): List +} + +interface KotlinInterface2 : Java2 \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..928b9b237b9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,186 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List<*> { + return mutableListOf(elements = [2]) + } + + override fun foo(a: List<*>) { + } + + override var a: List<*> + override get(): List<*> { + return mutableListOf(elements = [2]) + } + override set(value: List<*>) { + } + +} + +class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>) { + } + + override var a: List<*> + override get(): List<*> { + return mutableListOf(elements = [2]) + } + override set(value: List<*>) { + } + +} + +class E : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class F : Java1, KotlinInterface2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): List { + return super.bar() + } + +} + +class G : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class H : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: List<*>) { + } + +} + +abstract class I : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class J : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [3]) + } + + override fun foo(a: MutableList?) { + } + +} + +open class KotlinClass { + open var a: List<*> + field = mutableListOf(elements = ["1"]) + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): List<*> { + return mutableListOf(elements = ["1"]) + } + + open fun foo(a: List<*>) { + } + +} + +interface KotlinInterface { + abstract fun bar(): List + + abstract fun foo(a: List) + + abstract var a: List + abstract get + abstract set + +} + +interface KotlinInterface2 : Java2 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.bar() /*~> Unit */ + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() + b.foo(a = mutableListOf(elements = [null])) + val k2: List = b.bar() + c.foo(a = listOf(element = null)) + val k3: List = c.bar() + d.foo(a = mutableListOf(elements = [null])) + val k4: List = d.bar() + e.foo(a = mutableListOf(elements = [null])) + val k5: List = e.bar() + f.foo(a = mutableListOf(elements = [null])) + val k6: List = f.bar() + g.foo(a = mutableListOf(elements = [null])) + val k7: List = g.bar() + h.foo(a = mutableListOf(elements = [null])) + val k8: List = h.bar() + i.foo(a = mutableListOf(elements = [null])) + val k9: List = i.bar() /*!! List<*> */ + j.foo(a = mutableListOf(elements = [null])) + val k10: List = j.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..2238c6f2b9b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,465 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.List<*> + // Public signature: /A.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: A#foo(kotlin.collections.List<*>){} + // Public signature: /A.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + /* fake */ override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.List<*> + // Public signature: /A.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: A#(kotlin.collections.List<*>){} + // Public signature: /A.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.List<*> + // Public signature: /B.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + override fun bar(): List<*> + + // CHECK: + // Mangled name: B#foo(kotlin.collections.List<*>){} + // Public signature: /B.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List<*> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.List<*> + // Public signature: /B.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + override get(): List<*> + // CHECK: + // Mangled name: B#(kotlin.collections.List<*>){} + // Public signature: /B.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + override set(value: List<*>): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.List<*> + // Public signature: /C.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: C#foo(kotlin.collections.List<*>){} + // Public signature: /C.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + /* fake */ override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.List<*> + // Public signature: /C.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: C#(kotlin.collections.List<*>){} + // Public signature: /C.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.List<*> + // Public signature: /D.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: D#foo(kotlin.collections.List<*>){} + // Public signature: /D.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: List<*> + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.List<*> + // Public signature: /D.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + override get(): List<*> + // CHECK: + // Mangled name: D#(kotlin.collections.List<*>){} + // Public signature: /D.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + override set(value: List<*>): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, KotlinInterface2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.List<*> + // Public signature: /E.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: E#foo(kotlin.collections.List<*>){} + // Public signature: /E.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + /* fake */ override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.List<*> + // Public signature: /E.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: E#(kotlin.collections.List<*>){} + // Public signature: /E.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.collections.List<*>){} + // Public signature: /F.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + /* fake */ override fun foo(a: List<*>): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.List + // Public signature: /F.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + override fun bar(): List + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.List<*> + // Public signature: /F.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: F#(kotlin.collections.List<*>){} + // Public signature: /F.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.List<*> + // Public signature: /G.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: G#foo(kotlin.collections.List<*>){} + // Public signature: /G.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + /* fake */ override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.collections.List<*> + // Public signature: /G.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: G#(kotlin.collections.List<*>){} + // Public signature: /G.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java1, Java3 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.List<*> + // Public signature: /H.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + /* fake */ override fun bar(): List<*> + + // CHECK: + // Mangled name: H#foo(kotlin.collections.List<*>){} + // Public signature: /H.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + override fun foo(a: List<*>): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: List<*> + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.collections.List<*> + // Public signature: /H.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + /* fake */ override get(): List<*> + // CHECK: + // Mangled name: H#(kotlin.collections.List<*>){} + // Public signature: /H.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + /* fake */ override set(: List<*>): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java4 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.collections.MutableList? + // Public signature: /I.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + abstract /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: I#foo(kotlin.collections.MutableList?){} + // Public signature: /I.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + abstract /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java4 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.collections.MutableList + // Public signature: /J.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: J#foo(kotlin.collections.MutableList?){} + // Public signature: /J.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + open var a: List<*> + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.collections.List<*> + // Public signature: /KotlinClass.a.|7420054975261155862[0] + // Public signature debug description: (){}kotlin.collections.List<*> + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.collections.List<*>){} + // Public signature: /KotlinClass.a.|-1742626468354620590[0] + // Public signature debug description: (kotlin.collections.List<*>){} + open set + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}kotlin.collections.List<*> + // Public signature: /KotlinClass.bar|9146304308611802181[0] + // Public signature debug description: bar(){}kotlin.collections.List<*> + open fun bar(): List<*> + + // CHECK: + // Mangled name: KotlinClass#foo(kotlin.collections.List<*>){} + // Public signature: /KotlinClass.foo|2923589974738683515[0] + // Public signature debug description: foo(kotlin.collections.List<*>){} + open fun foo(a: List<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.List + // Public signature: /KotlinInterface.bar|7957968205035256403[0] + // Public signature debug description: bar(){}kotlin.collections.List + abstract fun bar(): List + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.List){} + // Public signature: /KotlinInterface.foo|-8908280896721730733[0] + // Public signature debug description: foo(kotlin.collections.List){} + abstract fun foo(a: List): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: List + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.List + // Public signature: /KotlinInterface.a.|1236722346785329618[0] + // Public signature debug description: (){}kotlin.collections.List + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.collections.List){} + // Public signature: /KotlinInterface.a.|8524237986202439368[0] + // Public signature debug description: (kotlin.collections.List){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : Java2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.MutableList? + // Public signature: /KotlinInterface2.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + abstract /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.collections.MutableList?){} + // Public signature: /KotlinInterface2.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + abstract /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.ir.txt new file mode 100644 index 00000000000..456ad4dec8e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.ir.txt @@ -0,0 +1,203 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + PROPERTY name:a visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.collections.MutableList + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + PROPERTY name:a visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.collections.MutableList + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] @[RawType] kotlin.collections.MutableList + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List? [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.kt.txt new file mode 100644 index 00000000000..76f229fa112 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.fir.kt.txt @@ -0,0 +1,73 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo(a: MutableList?) { + } + + val a: MutableList + get(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo(a: MutableList) { + } + + val a: MutableList + get(): MutableList { + return mutableListOf(elements = [2]) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() /*!! @FlexibleMutability @RawType MutableList */ + b.foo(a = mutableListOf(elements = [null])) + b.foo(a = null) + val k2: List? = b.bar() + c.foo(a = listOf(element = null)) + c.foo(a = null) + val k3: List = c.bar() /*!! @FlexibleMutability MutableList<@EnhancedNullability Any?> */ + d.foo(a = mutableListOf(elements = [null])) + val k4: List = d.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.ir.txt new file mode 100644 index 00000000000..9c770129827 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.ir.txt @@ -0,0 +1,215 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + PROPERTY name:a visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.collections.MutableList + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? + PROPERTY name:a visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.collections.MutableList + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Nothing? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Nothing? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<*> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<*> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.collections.List? [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] @[RawType] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k3 type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<@[EnhancedNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[EnhancedNullability] kotlin.Any?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt new file mode 100644 index 00000000000..3e971b0ba1c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt @@ -0,0 +1,66 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; + +public class Java1 { + public List a = new ArrayList(); + public void foo(List a) { }; + public List bar() { + return null; + }; +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +import java.util.*; + +public class Java3 extends Java1 { + public List a = new ArrayList(1); + @Override + public void foo(List a) { } + @Override + public List bar() { + return null; + } +} + +// FILE: 1.kt +class A : Java2() //Kotlin ← Java1 ← Java2 + +class B : Java2() { + val a: MutableList + get() = mutableListOf(1) + override fun bar(): MutableList { + return mutableListOf(2) + } + override fun foo(a: MutableList?) { } +} + +class C : Java3() // Kotlin ← Java1(override) ← Java2 + +class D : Java3() { + override fun foo(a: MutableList) { } + override fun bar(): MutableList { + return mutableListOf(2) + } + val a: MutableList + get() = mutableListOf(2) +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(null) + a.foo(mutableListOf(null)) + val k: List = a.bar() + b.foo(mutableListOf(null)) + b.foo(null) + val k2: List? = b.bar() + c.foo(listOf(null)) + c.foo(null) + val k3: List = c.bar() + d.foo(mutableListOf(null)) + val k4: List = d.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt.txt new file mode 100644 index 00000000000..243c043fa53 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt.txt @@ -0,0 +1,73 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo(a: MutableList?) { + } + + val a: MutableList + get(): MutableList { + return mutableListOf(elements = [1]) + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo(a: MutableList) { + } + + val a: MutableList + get(): MutableList { + return mutableListOf(elements = [2]) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = null) + a.foo(a = mutableListOf(elements = [null])) + val k: List = a.bar() /*!! List<*> */ + b.foo(a = mutableListOf(elements = [null])) + b.foo(a = null) + val k2: List? = b.bar() + c.foo(a = listOf(element = null)) + c.foo(a = null) + val k3: List = c.bar() /*!! List<@EnhancedNullability Any?> */ + d.foo(a = mutableListOf(elements = [null])) + val k4: List = d.bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..16d4f1fb40c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.sig.kt.txt @@ -0,0 +1,125 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: MutableList + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableList + // Public signature: /B.a.|-8966201178303059902[0] + // Public signature debug description: (){}kotlin.collections.MutableList + get(): MutableList + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList? + // Public signature: /C.bar|282174274715366837[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + @Override + /* fake */ override fun bar(): MutableList<@EnhancedNullability Any?>? + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList?){} + // Public signature: /C.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + @Override + /* fake */ override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList + // Public signature: /D.bar|2717899934593573586[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList){} + // Public signature: /D.foo|-988911284811620369[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: MutableList + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableList + // Public signature: /D.a.|-8966201178303059902[0] + // Public signature debug description: (){}kotlin.collections.MutableList + get(): MutableList + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..19739837943 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,944 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=2 + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + public abstract fun bar3 (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface2]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + public abstract fun bar (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=2 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + public abstract fun bar3 (): kotlin.collections.MutableList declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .KotlinClass + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .KotlinClass + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .KotlinClass + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinClass; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .KotlinClass + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .KotlinClass + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .KotlinClass + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .KotlinClass + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .KotlinClass + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .KotlinClass + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.F, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .KotlinClass + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java4 + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java4 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java4 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java4 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .Java2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java4 + public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java4 + public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java4 + public abstract fun bar (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .H' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=5 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java4 + public abstract fun bar2 (): kotlin.collections.MutableList declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .H' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=5 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.collections.MutableList<*> + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java4 + public abstract fun bar3 (): kotlin.collections.MutableList<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList<*> declared in .H' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java5 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .J' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=6 + FUN name:foo visibility:public modality:OPEN <> ($this:.J, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:bar3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.collections.MutableList<*> + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + FUN name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.collections.MutableList<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*> + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:bar3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .A' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .A' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number? + CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .B' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Double type=kotlin.Double value=1.1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar2 (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar3 (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .E' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .G' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .G' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .H' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .H' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .H' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .I' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .I' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .J' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .J' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .J' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..84a1ac42d07 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt @@ -0,0 +1,189 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; +public class Java1 { + public void foo(List a) { } + public List bar(){ + return null; + } + public void foo2(List a) { } + public List bar2(){ + return null; + } + + public void foo3(List a) {} + public List bar3(){ + return null; + } +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: Java3.java +import java.util.List; + +public interface Java3 { + public List bar(); + public List bar2(); + public List bar3(); +} + +// FILE: Java4.java +public class Java4 extends Java1 { } + +// FILE: Java5.java +public class Java5 extends KotlinClass { } + + +// FILE: 1.kt +class A: Java1(), Java2 // Kotlin ← Java1, Java2 ← Kotlin2 + +class B : Java1(), Java2 { + override fun bar2(): MutableList { + return mutableListOf(2) + } + override fun foo2(a: MutableList) { } +} + +abstract class C : Java2, KotlinInterface2 // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class D : Java2, KotlinInterface2 { + override fun bar(): MutableList { + return mutableListOf(2) + } + override fun bar2(): MutableList { + return mutableListOf(2) + } + override fun bar3(): MutableList { + return mutableListOf(2) + } + + override fun foo2(a: MutableList) {} + override fun foo(a: MutableList) {} + override fun foo3(a: MutableList<*>) { } +} + +class E : KotlinClass(), Java3 //Kotlin ← Java, Kotlin2 ← Java2 + +class F : KotlinClass(), Java3 { + override fun foo(a: MutableList) { } + override fun foo2(a: MutableList) { } + override fun foo3(a: MutableList<*>) { } +} + +class G : Java4(), Java2 //Kotlin ← Java1, Java2 ← Java3 + +class H : Java4(), Java2 { + override fun bar(): MutableList { + return mutableListOf(5) + } + override fun bar2(): MutableList { + return mutableListOf(5) + } + override fun bar3(): MutableList<*> { + return mutableListOf(5) + } +} + +class I : Java5() //Kotlin ← Java ← Kotlin ← Java + +class J : Java5() { + override fun foo(a: MutableList?) { } + override fun bar(): MutableList { + return mutableListOf(6) + } +} + +interface KotlinInterface { + fun foo(a: MutableList) + fun bar(): MutableList + + fun foo2(a: MutableList) + fun bar2(): MutableList + + fun foo3(a: MutableList<*>) + fun bar3(): MutableList<*> +} + +interface KotlinInterface2 { + fun bar(): MutableList + fun bar2(): MutableList + fun bar3(): MutableList +} + +open class KotlinClass : Java1() + +fun test(a:A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J){ + a.foo(mutableListOf(1)) + a.foo(null) + a.bar() + a.foo2(mutableListOf(1)) + a.foo2(null) + a.bar2() + a.foo3(mutableListOf(1)) + a.foo3(null) + a.bar3() + + + b.foo2(mutableListOf(1)) + b.foo2(mutableListOf(null)) + b.bar2() + + c.foo(mutableListOf(1)) + c.bar() + c.foo2(mutableListOf(1.1)) + c.bar2() + c.foo3(mutableListOf(1)) + c.bar3() + + d.foo(mutableListOf(1)) + d.bar() + d.foo2(mutableListOf(1)) + d.bar2() + d.foo3(mutableListOf(1)) + d.bar3() + + e.foo(mutableListOf(1)) + e.bar() + e.foo2(mutableListOf(1)) + e.bar2() + e.foo3(mutableListOf(1)) + e.bar3() + + f.foo(mutableListOf(1)) + f.foo2(mutableListOf(1)) + f.foo3(mutableListOf(1)) + + g.foo(mutableListOf(1)) + g.bar() + g.foo2(mutableListOf(1)) + g.bar2() + g.foo3(mutableListOf(1)) + g.bar3() + + h.foo(mutableListOf(1)) + h.bar() + h.foo2(mutableListOf(1)) + h.bar2() + h.foo3(mutableListOf(1)) + h.bar3() + + i.foo(mutableListOf(1)) + i.bar() + i.foo2(mutableListOf(1)) + i.bar2() + i.foo3(mutableListOf(1)) + i.bar3() + + j.foo(mutableListOf(1)) + j.bar() + j.foo2(mutableListOf(1)) + j.bar2() + j.foo3(mutableListOf(1)) + j.bar3() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..74f6bbec13d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,238 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo2(a: MutableList) { + } + +} + +abstract class C : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun bar3(): MutableList { + return mutableListOf(elements = [2]) + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: MutableList) { + } + + override fun foo3(a: MutableList<*>) { + } + +} + +class E : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + +} + +class F : KotlinClass, Java3 { + constructor() /* primary */ { + super/*KotlinClass*/() + /* () */ + + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: MutableList) { + } + + override fun foo3(a: MutableList<*>) { + } + +} + +class G : Java4, Java2 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4, Java2 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [5]) + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [5]) + } + + override fun bar3(): MutableList<*> { + return mutableListOf(elements = [5]) + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf(elements = [6]) + } + + override fun foo(a: MutableList?) { + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun bar(): MutableList + + abstract fun bar2(): MutableList + + abstract fun bar3(): MutableList<*> + + abstract fun foo(a: MutableList) + + abstract fun foo2(a: MutableList) + + abstract fun foo3(a: MutableList<*>) + +} + +interface KotlinInterface2 { + abstract fun bar(): MutableList + + abstract fun bar2(): MutableList + + abstract fun bar3(): MutableList + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo(a = mutableListOf(elements = [1])) + a.foo(a = null) + a.bar() /*~> Unit */ + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + a.foo2(a = null) + a.bar2() /*~> Unit */ + a.foo3(a = mutableListOf(elements = [1])) + a.foo3(a = null) + a.bar3() /*~> Unit */ + b.foo2(a = mutableListOf(elements = [1])) + b.foo2(a = mutableListOf(elements = [null])) + b.bar2() /*~> Unit */ + c.foo(a = mutableListOf(elements = [1])) + c.bar() /*~> Unit */ + c.foo2(a = mutableListOf(elements = [1.1])) + c.bar2() /*~> Unit */ + c.foo3(a = mutableListOf(elements = [1])) + c.bar3() /*~> Unit */ + d.foo(a = mutableListOf(elements = [1])) + d.bar() /*~> Unit */ + d.foo2(a = mutableListOf(elements = [1])) + d.bar2() /*~> Unit */ + d.foo3(a = mutableListOf(elements = [1])) + d.bar3() /*~> Unit */ + e.foo(a = mutableListOf(elements = [1])) + e.bar() /*~> Unit */ + e.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + e.bar2() /*~> Unit */ + e.foo3(a = mutableListOf(elements = [1])) + e.bar3() /*~> Unit */ + f.foo(a = mutableListOf(elements = [1])) + f.foo2(a = mutableListOf(elements = [1])) + f.foo3(a = mutableListOf(elements = [1])) + g.foo(a = mutableListOf(elements = [1])) + g.bar() /*~> Unit */ + g.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + g.bar2() /*~> Unit */ + g.foo3(a = mutableListOf(elements = [1])) + g.bar3() /*~> Unit */ + h.foo(a = mutableListOf(elements = [1])) + h.bar() /*~> Unit */ + h.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + h.bar2() /*~> Unit */ + h.foo3(a = mutableListOf(elements = [1])) + h.bar3() /*~> Unit */ + i.foo(a = mutableListOf(elements = [1])) + i.bar() /*~> Unit */ + i.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + i.bar2() /*~> Unit */ + i.foo3(a = mutableListOf(elements = [1])) + i.bar3() /*~> Unit */ + j.foo(a = mutableListOf(elements = [1])) + j.bar() /*~> Unit */ + j.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + j.bar2() /*~> Unit */ + j.foo3(a = mutableListOf(elements = [1])) + j.bar3() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..369e4db5a5f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,599 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList + // Public signature: /A.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.collections.MutableList + // Public signature: /A.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /A.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.collections.MutableList?){} + // Public signature: /A.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /A.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList + // Public signature: /B.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /B.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /B.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.collections.MutableList + // Public signature: /B.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK: + // Mangled name: B#foo2(kotlin.collections.MutableList){} + // Public signature: /B.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList + // Public signature: /C.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + abstract /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.collections.MutableList + // Public signature: /C.bar2|-1905275880714009246[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + abstract /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableList + // Public signature: /C.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + abstract /* fake */ override fun bar3(): MutableList + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList){} + // Public signature: /C.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + abstract /* fake */ override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: C#foo2(kotlin.collections.MutableList){} + // Public signature: /C.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + abstract /* fake */ override fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /C.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + abstract /* fake */ override fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2, KotlinInterface2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList + // Public signature: /D.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.collections.MutableList + // Public signature: /D.bar2|-1905275880714009246[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.MutableList + // Public signature: /D.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + override fun bar3(): MutableList + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList){} + // Public signature: /D.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.collections.MutableList){} + // Public signature: /D.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /D.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + override fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : KotlinClass, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.MutableList? + // Public signature: /E.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: E#bar2(){}kotlin.collections.MutableList? + // Public signature: /E.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: E#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /E.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo2(kotlin.collections.MutableList?){} + // Public signature: /E.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /E.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinClass, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.MutableList? + // Public signature: /F.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: F#bar2(){}kotlin.collections.MutableList? + // Public signature: /F.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: F#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /F.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList){} + // Public signature: /F.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: F#foo2(kotlin.collections.MutableList){} + // Public signature: /F.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: F#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /F.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + override fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4, Java2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.collections.MutableList + // Public signature: /G.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + /* fake */ override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar2(){}kotlin.collections.MutableList + // Public signature: /G.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + /* fake */ override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: G#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /G.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + /* fake */ override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: G#foo(kotlin.collections.MutableList?){} + // Public signature: /G.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo2(kotlin.collections.MutableList?){} + // Public signature: /G.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: G#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /G.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4, Java2 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(kotlin.collections.MutableList?){} + // Public signature: /H.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: H#foo2(kotlin.collections.MutableList?){} + // Public signature: /H.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: H#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /H.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.collections.MutableList + // Public signature: /H.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar2(){}kotlin.collections.MutableList + // Public signature: /H.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: H#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /H.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + override fun bar3(): MutableList<*> + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.collections.MutableList? + // Public signature: /I.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: I#bar2(){}kotlin.collections.MutableList? + // Public signature: /I.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: I#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /I.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: I#foo(kotlin.collections.MutableList?){} + // Public signature: /I.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: I#foo2(kotlin.collections.MutableList?){} + // Public signature: /I.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: I#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /I.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar2(){}kotlin.collections.MutableList? + // Public signature: /J.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: J#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /J.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: J#foo2(kotlin.collections.MutableList?){} + // Public signature: /J.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: J#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /J.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.collections.MutableList + // Public signature: /J.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: J#foo(kotlin.collections.MutableList?){} + // Public signature: /J.foo|-2620750387552673463[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}kotlin.collections.MutableList? + // Public signature: /KotlinClass.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar2(){}kotlin.collections.MutableList? + // Public signature: /KotlinClass.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /KotlinClass.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: KotlinClass#foo(kotlin.collections.MutableList?){} + // Public signature: /KotlinClass.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: KotlinClass#foo2(kotlin.collections.MutableList?){} + // Public signature: /KotlinClass.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: KotlinClass#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /KotlinClass.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar|-6846894645280055353[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + abstract fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar2(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + abstract fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /KotlinInterface.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + abstract fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo|1900973092292906747[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + abstract fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo2(kotlin.collections.MutableList){} + // Public signature: /KotlinInterface.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + abstract fun foo2(a: MutableList): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo3(kotlin.collections.MutableList<*>){} + // Public signature: /KotlinInterface.foo3|3154747524743190267[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>){} + abstract fun foo3(a: MutableList<*>): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface2.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + abstract fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar2(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface2.bar2|-1905275880714009246[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + abstract fun bar2(): MutableList + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar3(){}kotlin.collections.MutableList + // Public signature: /KotlinInterface2.bar3|-3223342350035860091[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList + abstract fun bar3(): MutableList + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.ir.txt new file mode 100644 index 00000000000..e159ba49935 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.ir.txt @@ -0,0 +1,366 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableList<*> + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="3" + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList<*>?) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList<*>? + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.collections.MutableList? [fake_override] + annotations: + Override + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + annotations: + Override + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java3, a:@[FlexibleNullability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? [fake_override] + annotations: + Override + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java3, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + FUN name:foo2 visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .A' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .B' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.MutableList<*>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.MutableList<*> declared in .B' type=kotlin.collections.MutableList<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Number?> origin=null + : @[FlexibleNullability] kotlin.Number? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Number? + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: @[FlexibleNullability] kotlin.collections.MutableList?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[FlexibleNullability] kotlin.collections.MutableList? declared in .C' type=@[FlexibleNullability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo2 (a: kotlin.collections.MutableList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<*>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt new file mode 100644 index 00000000000..7cb1a58ee6b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt @@ -0,0 +1,110 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; +public class Java1 { + public void foo(List a) { } + public List bar(){ + return null; + } + public void foo2(List a) { } + public List bar2(){ + return null; + } + + public void foo3(List a) {} + public List bar3(){ + return null; + } +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +import java.util.ArrayList; +import java.util.List; + +public class Java3 extends Java1 { + @Override + public void foo(List a) { } + @Override + public List bar(){ + return new ArrayList(1); + } + @Override + public void foo2(List a) { } + @Override + public List bar2(){ + return new ArrayList(1); + } + @Override + public void foo3(List a) {} + @Override + public List bar3(){ + return new ArrayList(1); + } +} + +// FILE: 1.kt +class A : Java2() // Kotlin ← Java1 ←Java2 + +class B : Java2() { + override fun foo3(a: MutableList<*>?) { } + override fun bar3(): MutableList<*> { + return mutableListOf("3") + } +} + +class C : Java3() // Kotlin ← Java1(override) ←Java2 + +class D : Java3() { + override fun foo2(a: MutableList) { } + override fun bar2(): MutableList { + return mutableListOf(1) + } +} + +fun test(a:A, b: B, c: C, d: D){ + a.foo(mutableListOf(1)) + a.foo(null) + a.bar() + a.foo2(mutableListOf(1)) + a.foo2(null) + a.bar2() + a.foo3(mutableListOf(1)) + a.foo3(null) + a.bar3() + + b.foo(mutableListOf(1)) + b.foo(null) + b.bar() + b.foo2(mutableListOf(1)) + b.foo2(null) + b.bar2() + b.foo3(mutableListOf(1)) + b.foo3(null) + b.bar3() + + c.foo(mutableListOf(1)) + c.foo(null) + c.bar() + c.foo2(mutableListOf(1)) + c.foo2(null) + c.bar2() + c.foo3(mutableListOf(1)) + c.foo3(null) + c.bar3() + + d.foo(mutableListOf(1)) + d.foo(null) + d.bar() + d.foo2(mutableListOf(1)) + d.bar2() + d.foo3(mutableListOf(1)) + d.foo3(null) + d.bar3() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt.txt new file mode 100644 index 00000000000..319759a5558 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt.txt @@ -0,0 +1,87 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar3(): MutableList<*> { + return mutableListOf(elements = ["3"]) + } + + override fun foo3(a: MutableList<*>?) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar2(): MutableList { + return mutableListOf(elements = [1]) + } + + override fun foo2(a: MutableList) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = mutableListOf(elements = [1])) + a.foo(a = null) + a.bar() /*~> Unit */ + a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + a.foo2(a = null) + a.bar2() /*~> Unit */ + a.foo3(a = mutableListOf(elements = [1])) + a.foo3(a = null) + a.bar3() /*~> Unit */ + b.foo(a = mutableListOf(elements = [1])) + b.foo(a = null) + b.bar() /*~> Unit */ + b.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + b.foo2(a = null) + b.bar2() /*~> Unit */ + b.foo3(a = mutableListOf(elements = [1])) + b.foo3(a = null) + b.bar3() /*~> Unit */ + c.foo(a = mutableListOf(elements = [1])) + c.foo(a = null) + c.bar() /*~> Unit */ + c.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1])) + c.foo2(a = null) + c.bar2() /*~> Unit */ + c.foo3(a = mutableListOf(elements = [1])) + c.foo3(a = null) + c.bar3() /*~> Unit */ + d.foo(a = mutableListOf(elements = [1])) + d.foo(a = null) + d.bar() /*~> Unit */ + d.foo2(a = mutableListOf(elements = [1])) + d.bar2() /*~> Unit */ + d.foo3(a = mutableListOf(elements = [1])) + d.foo3(a = null) + d.bar3() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..3c1a188f0f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.sig.kt.txt @@ -0,0 +1,207 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.collections.MutableList? + // Public signature: /A.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /A.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.collections.MutableList?){} + // Public signature: /A.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /A.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList? + // Public signature: /B.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.collections.MutableList? + // Public signature: /B.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + /* fake */ override fun bar2(): MutableList? + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.collections.MutableList?){} + // Public signature: /B.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableList<*> + // Public signature: /B.bar3|6150215183582372563[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*> + override fun bar3(): MutableList<*> + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /B.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList? + // Public signature: /C.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + @Override + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.collections.MutableList? + // Public signature: /C.bar2|-522329858505142422[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList? + @Override + /* fake */ override fun bar2(): MutableList? + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /C.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + @Override + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList?){} + // Public signature: /C.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + @Override + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: C#foo2(kotlin.collections.MutableList?){} + // Public signature: /C.foo2|-3601545727248628174[0] + // Public signature debug description: foo2(kotlin.collections.MutableList?){} + @Override + /* fake */ override fun foo2(a: MutableList?): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /C.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + @Override + /* fake */ override fun foo3(a: MutableList<*>?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList? + // Public signature: /D.bar|-1979132587545372662[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + @Override + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.MutableList<*>? + // Public signature: /D.bar3|-2809894317317056685[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableList<*>? + @Override + /* fake */ override fun bar3(): MutableList<*>? + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList?){} + // Public signature: /D.foo|8895686115223778012[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + @Override + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.MutableList<*>?){} + // Public signature: /D.foo3|4448794496598723802[0] + // Public signature debug description: foo3(kotlin.collections.MutableList<*>?){} + @Override + /* fake */ override fun foo3(a: MutableList<*>?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.collections.MutableList + // Public signature: /D.bar2|-1184869326883952177[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableList + override fun bar2(): MutableList + + // CHECK: + // Mangled name: D#foo2(kotlin.collections.MutableList){} + // Public signature: /D.foo2|-4029435458904947429[0] + // Public signature debug description: foo2(kotlin.collections.MutableList){} + override fun foo2(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.ir.txt new file mode 100644 index 00000000000..234f9195e78 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.ir.txt @@ -0,0 +1,414 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:java.util.ArrayList [fake_override] + overridden: + public open fun bar (): java.util.ArrayList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:java.util.ArrayList [fake_override] + overridden: + public open fun bar2 (): java.util.ArrayList declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> [fake_override] + overridden: + public open fun bar3 (): kotlin.collections.List<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + 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 .Java2 + $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:.KotlinClass, a:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.KotlinClass, a:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (a: java.util.ArrayList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:java.util.ArrayList + overridden: + public open fun bar (): java.util.ArrayList declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .B' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=2 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:java.util.ArrayList + overridden: + public open fun bar2 (): java.util.ArrayList declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.ArrayList declared in .B' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=2 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.List<*> + overridden: + public open fun bar3 (): kotlin.collections.List<*> declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.List<*> declared in .B' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="2" + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public open fun foo2 (a: java.util.ArrayList): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.List<*>) returnType:kotlin.Unit + overridden: + public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] java.util.ArrayList [fake_override] + annotations: + Override + overridden: + public open fun bar (): @[EnhancedNullability] java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] java.util.ArrayList [fake_override] + annotations: + Override + overridden: + public open fun bar2 (): @[EnhancedNullability] java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.collections.List<*> [fake_override] + annotations: + Override + overridden: + public open fun bar3 (): @[EnhancedNullability] kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[EnhancedNullability] java.util.ArrayList) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] java.util.ArrayList + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[EnhancedNullability] java.util.ArrayList) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo2 (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] java.util.ArrayList + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[EnhancedNullability] kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo3 (a: @[EnhancedNullability] kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] kotlin.collections.List<*> + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] java.util.ArrayList [fake_override] + annotations: + Override + overridden: + public open fun bar2 (): @[EnhancedNullability] java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[EnhancedNullability] kotlin.collections.List<*> [fake_override] + annotations: + Override + overridden: + public open fun bar3 (): @[EnhancedNullability] kotlin.collections.List<*> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, a:@[EnhancedNullability] java.util.ArrayList) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo2 (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] java.util.ArrayList + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, a:@[EnhancedNullability] kotlin.collections.List<*>) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo3 (a: @[EnhancedNullability] kotlin.collections.List<*>): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[EnhancedNullability] kotlin.collections.List<*> + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:java.util.ArrayList + overridden: + public open fun bar (): @[EnhancedNullability] java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .D' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=3 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .KotlinClass' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:bar2 visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.ArrayList declared in .KotlinClass' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + FUN name:bar3 visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.collections.List<*> + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.List<*> declared in .KotlinClass' + CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinClass, a:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.KotlinClass, a:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.KotlinClass, a:kotlin.collections.List<*>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:a index:0 type:kotlin.collections.List<*> + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): java.util.ArrayList declared in .A' type=java.util.ArrayList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (a: java.util.ArrayList): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): java.util.ArrayList declared in .A' type=java.util.ArrayList origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.List<*> declared in .A' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (a: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=kotlin.Number + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: kotlin.collections.List<*>): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): kotlin.collections.List<*> declared in .B' type=kotlin.collections.List<*> origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): @[EnhancedNullability] java.util.ArrayList declared in .C' type=@[EnhancedNullability] java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (a: @[EnhancedNullability] java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[EnhancedNullability] kotlin.Number> origin=null + : @[EnhancedNullability] kotlin.Number + elements: VARARG type=kotlin.Array varargElementType=@[EnhancedNullability] kotlin.Number + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar2 (): @[EnhancedNullability] java.util.ArrayList declared in .C' type=@[EnhancedNullability] java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (a: @[EnhancedNullability] kotlin.collections.List<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Nothing? + element: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: @[EnhancedNullability] kotlin.collections.List<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo3 (a: @[EnhancedNullability] kotlin.collections.List<*>): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar3 (): @[EnhancedNullability] kotlin.collections.List<*> declared in .C' type=@[EnhancedNullability] kotlin.collections.List<*> origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): java.util.ArrayList declared in .D' type=java.util.ArrayList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt new file mode 100644 index 00000000000..f3a95b7c145 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt @@ -0,0 +1,105 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; + +public class Java1 extends KotlinClass { + @Override + public void foo(ArrayList a) { } + @Override + public ArrayList bar(){ + return null; + } + @Override + public void foo2(ArrayList a) { } + + @Override + public ArrayList bar2(){ + return null; + } + @Override + public void foo3(List a) {} + @Override + public List bar3(){ + return null; + } +} + +// FILE: Java2.java +public class Java2 extends KotlinClass { } + +// FILE: 1.kt +class A: Java2() // Kotlin ← Java ← Kotlin + +class B : Java2() { + override fun foo(a: ArrayList){ } + override fun bar(): ArrayList { + return arrayListOf(2) + } + override fun foo2(a: ArrayList) { } + override fun bar2(): ArrayList { + return arrayListOf(2) + } + override fun foo3(a: List<*>) { } + override fun bar3(): List<*> { + return arrayListOf("2") + } +} + +class C : Java1() // Kotlin ← Java(override) ← Kotlin + +class D : Java1() { + override fun foo(a: ArrayList) { } + override fun bar(): ArrayList { + return arrayListOf(3) + } +} + +open class KotlinClass { + open fun foo(a: ArrayList) { } + open fun bar(): ArrayList { + return arrayListOf(1) + } + + open fun foo2(a: ArrayList) {} + open fun bar2(): ArrayList { + return arrayListOf(1) + } + + open fun foo3(a: List<*>) {} + open fun bar3(): List<*> { + return arrayListOf(1) + } +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(arrayListOf(1)) + a.bar() + a.foo2(arrayListOf(1)) + a.bar2() + a.foo3(listOf(null)) + a.foo3(listOf(1)) + a.foo3(mutableListOf("")) + a.bar3() + b.foo(arrayListOf(1)) + b.bar() + b.foo2(arrayListOf(1)) + b.bar2() + b.foo3(listOf(null)) + b.foo3(listOf(1)) + b.foo3(mutableListOf("")) + b.bar3() + c.foo(arrayListOf(1)) + c.bar() + c.foo2(arrayListOf(1)) + c.bar2() + c.foo3(listOf(null)) + c.foo3(listOf(1)) + c.foo3(mutableListOf("")) + c.bar3() + d.foo(arrayListOf(1)) + d.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt.txt new file mode 100644 index 00000000000..a734c5b167c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt.txt @@ -0,0 +1,122 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): ArrayList { + return arrayListOf(elements = [2]) + } + + override fun bar2(): ArrayList { + return arrayListOf(elements = [2]) + } + + override fun bar3(): List<*> { + return arrayListOf(elements = ["2"]) + } + + override fun foo(a: ArrayList) { + } + + override fun foo2(a: ArrayList) { + } + + override fun foo3(a: List<*>) { + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): ArrayList { + return arrayListOf(elements = [3]) + } + + override fun foo(a: ArrayList) { + } + +} + +open class KotlinClass { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): ArrayList { + return arrayListOf(elements = [1]) + } + + open fun bar2(): ArrayList { + return arrayListOf(elements = [1]) + } + + open fun bar3(): List<*> { + return arrayListOf(elements = [1]) + } + + open fun foo(a: ArrayList) { + } + + open fun foo2(a: ArrayList) { + } + + open fun foo3(a: List<*>) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = arrayListOf(elements = [1])) + a.bar() /*~> Unit */ + a.foo2(a = arrayListOf(elements = [1])) + a.bar2() /*~> Unit */ + a.foo3(a = listOf(element = null)) + a.foo3(a = listOf(element = 1)) + a.foo3(a = mutableListOf(elements = [""])) + a.bar3() /*~> Unit */ + b.foo(a = arrayListOf(elements = [1])) + b.bar() /*~> Unit */ + b.foo2(a = arrayListOf(elements = [1])) + b.bar2() /*~> Unit */ + b.foo3(a = listOf(element = null)) + b.foo3(a = listOf(element = 1)) + b.foo3(a = mutableListOf(elements = [""])) + b.bar3() /*~> Unit */ + c.foo(a = arrayListOf(elements = [1])) + c.bar() /*~> Unit */ + c.foo2(a = arrayListOf<@EnhancedNullability Number>(elements = [1])) + c.bar2() /*~> Unit */ + c.foo3(a = listOf(element = null)) + c.foo3(a = listOf(element = 1)) + c.foo3(a = mutableListOf(elements = [""])) + c.bar3() /*~> Unit */ + d.foo(a = arrayListOf(elements = [1])) + d.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.sig.kt.txt new file mode 100644 index 00000000000..d02b3a06e84 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.sig.kt.txt @@ -0,0 +1,255 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}java.util.ArrayList + // Public signature: /A.bar|-7954994543431492117[0] + // Public signature debug description: bar(){}java.util.ArrayList + /* fake */ override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}java.util.ArrayList + // Public signature: /A.bar2|-6698323934578274174[0] + // Public signature debug description: bar2(){}java.util.ArrayList + /* fake */ override fun bar2(): ArrayList + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.List<*> + // Public signature: /A.bar3|-8948143415825357304[0] + // Public signature debug description: bar3(){}kotlin.collections.List<*> + /* fake */ override fun bar3(): List<*> + + // CHECK: + // Mangled name: A#foo(java.util.ArrayList){} + // Public signature: /A.foo|-1751770228733092422[0] + // Public signature debug description: foo(java.util.ArrayList){} + /* fake */ override fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: A#foo2(java.util.ArrayList){} + // Public signature: /A.foo2|-3336973974877588163[0] + // Public signature debug description: foo2(java.util.ArrayList){} + /* fake */ override fun foo2(a: ArrayList): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.List<*>){} + // Public signature: /A.foo3|8988661382169244788[0] + // Public signature debug description: foo3(kotlin.collections.List<*>){} + /* fake */ override fun foo3(a: List<*>): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}java.util.ArrayList + // Public signature: /B.bar|-7954994543431492117[0] + // Public signature debug description: bar(){}java.util.ArrayList + override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}java.util.ArrayList + // Public signature: /B.bar2|-6698323934578274174[0] + // Public signature debug description: bar2(){}java.util.ArrayList + override fun bar2(): ArrayList + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.List<*> + // Public signature: /B.bar3|-8948143415825357304[0] + // Public signature debug description: bar3(){}kotlin.collections.List<*> + override fun bar3(): List<*> + + // CHECK: + // Mangled name: B#foo(java.util.ArrayList){} + // Public signature: /B.foo|-1751770228733092422[0] + // Public signature debug description: foo(java.util.ArrayList){} + override fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: B#foo2(java.util.ArrayList){} + // Public signature: /B.foo2|-3336973974877588163[0] + // Public signature debug description: foo2(java.util.ArrayList){} + override fun foo2(a: ArrayList): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.List<*>){} + // Public signature: /B.foo3|8988661382169244788[0] + // Public signature debug description: foo3(kotlin.collections.List<*>){} + override fun foo3(a: List<*>): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}java.util.ArrayList{EnhancedNullability} + // Public signature: /C.bar|-255470625699623912[0] + // Public signature debug description: bar(){}java.util.ArrayList{EnhancedNullability} + @Override + /* fake */ override fun bar(): @EnhancedNullability ArrayList + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}java.util.ArrayList{EnhancedNullability} + // Public signature: /C.bar2|277479901441470639[0] + // Public signature debug description: bar2(){}java.util.ArrayList{EnhancedNullability} + @Override + /* fake */ override fun bar2(): @EnhancedNullability ArrayList + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.List<*>{EnhancedNullability} + // Public signature: /C.bar3|-2742805382800269802[0] + // Public signature debug description: bar3(){}kotlin.collections.List<*>{EnhancedNullability} + @Override + /* fake */ override fun bar3(): @EnhancedNullability List<*> + + // CHECK: + // Mangled name: C#foo(java.util.ArrayList{EnhancedNullability}){} + // Public signature: /C.foo|-942792604386436178[0] + // Public signature debug description: foo(java.util.ArrayList{EnhancedNullability}){} + @Override + /* fake */ override fun foo(a: @EnhancedNullability ArrayList): Unit + + // CHECK: + // Mangled name: C#foo2(java.util.ArrayList{EnhancedNullability}){} + // Public signature: /C.foo2|2861357128523319092[0] + // Public signature debug description: foo2(java.util.ArrayList{EnhancedNullability}){} + @Override + /* fake */ override fun foo2(a: @EnhancedNullability ArrayList): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.List<*>{EnhancedNullability}){} + // Public signature: /C.foo3|7555357842428981953[0] + // Public signature debug description: foo3(kotlin.collections.List<*>{EnhancedNullability}){} + @Override + /* fake */ override fun foo3(a: @EnhancedNullability List<*>): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}java.util.ArrayList{EnhancedNullability} + // Public signature: /D.bar2|277479901441470639[0] + // Public signature debug description: bar2(){}java.util.ArrayList{EnhancedNullability} + @Override + /* fake */ override fun bar2(): @EnhancedNullability ArrayList + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.List<*>{EnhancedNullability} + // Public signature: /D.bar3|-2742805382800269802[0] + // Public signature debug description: bar3(){}kotlin.collections.List<*>{EnhancedNullability} + @Override + /* fake */ override fun bar3(): @EnhancedNullability List<*> + + // CHECK: + // Mangled name: D#foo2(java.util.ArrayList{EnhancedNullability}){} + // Public signature: /D.foo2|2861357128523319092[0] + // Public signature debug description: foo2(java.util.ArrayList{EnhancedNullability}){} + @Override + /* fake */ override fun foo2(a: @EnhancedNullability ArrayList): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.List<*>{EnhancedNullability}){} + // Public signature: /D.foo3|7555357842428981953[0] + // Public signature debug description: foo3(kotlin.collections.List<*>{EnhancedNullability}){} + @Override + /* fake */ override fun foo3(a: @EnhancedNullability List<*>): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}java.util.ArrayList + // Public signature: /D.bar|-7954994543431492117[0] + // Public signature debug description: bar(){}java.util.ArrayList + override fun bar(): ArrayList + + // CHECK: + // Mangled name: D#foo(java.util.ArrayList){} + // Public signature: /D.foo|-1751770228733092422[0] + // Public signature debug description: foo(java.util.ArrayList){} + override fun foo(a: ArrayList): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar(){}java.util.ArrayList + // Public signature: /KotlinClass.bar|-7954994543431492117[0] + // Public signature debug description: bar(){}java.util.ArrayList + open fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar2(){}java.util.ArrayList + // Public signature: /KotlinClass.bar2|-6698323934578274174[0] + // Public signature debug description: bar2(){}java.util.ArrayList + open fun bar2(): ArrayList + + // CHECK JVM_IR: + // Mangled name: KotlinClass#bar3(){}kotlin.collections.List<*> + // Public signature: /KotlinClass.bar3|-8948143415825357304[0] + // Public signature debug description: bar3(){}kotlin.collections.List<*> + open fun bar3(): List<*> + + // CHECK: + // Mangled name: KotlinClass#foo(java.util.ArrayList){} + // Public signature: /KotlinClass.foo|-1751770228733092422[0] + // Public signature debug description: foo(java.util.ArrayList){} + open fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: KotlinClass#foo2(java.util.ArrayList){} + // Public signature: /KotlinClass.foo2|-3336973974877588163[0] + // Public signature debug description: foo2(java.util.ArrayList){} + open fun foo2(a: ArrayList): Unit + + // CHECK: + // Mangled name: KotlinClass#foo3(kotlin.collections.List<*>){} + // Public signature: /KotlinClass.foo3|8988661382169244788[0] + // Public signature debug description: foo3(kotlin.collections.List<*>){} + open fun foo3(a: List<*>): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.ir.txt new file mode 100644 index 00000000000..5d807310a3d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.ir.txt @@ -0,0 +1,139 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=12 + FUN name:isB visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:setA visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .B declared in .B.setA' type=.B origin=null + t: CONST Int type=kotlin.Int value=10 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=3 + VAR name:k2 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Boolean type=kotlin.Boolean value=false + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.String? declared in .A' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=3 + VAR name:k5 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=false + VAR name:k6 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt new file mode 100644 index 00000000000..85dc9cf3e21 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt @@ -0,0 +1,60 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + private int a; + public int getA() { + return 120; + } + public void setA(int t) { + a = 100; + } + + private boolean b = true; + public boolean isB() { + return b; + } + public void setB(boolean t) { + b = false; + } + + private String c; + public String getC() { + return c; + } + + private Integer d; + public void setD(Integer t) { + d = t; + } +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun getA(): Int { + return 12 + } + override fun setA(t: Int) { + a = 10 + } + override fun isB(): Boolean { + return false + } +} + +fun test(a: A, b: B) { + val k: Int = a.a + a.a = 3 + val k2: Boolean = a.isB + a.isB = false + val k3: String = a.c + + val k4: Int = b.a + b.a = 3 + val k5: Boolean = b.isB + b.isB = false + val k6: String = b.c +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt.txt new file mode 100644 index 00000000000..622c8ab2e27 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt.txt @@ -0,0 +1,42 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getA(): Int { + return 12 + } + + override fun isB(): Boolean { + return false + } + + override fun setA(t: Int) { + .setA(t = 10) + } + +} + +fun test(a: A, b: B) { + val k: Int = a.getA() + a.setA(t = 3) + val k2: Boolean = a.isB() + a.setB(t = false) + val k3: String = a.getC() /*!! String */ + val k4: Int = b.getA() + b.setA(t = 3) + val k5: Boolean = b.isB() + b.setB(t = false) + val k6: String = b.getC() /*!! String */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.sig.kt.txt new file mode 100644 index 00000000000..7ee63eed3c2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.sig.kt.txt @@ -0,0 +1,101 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int + // Public signature: /A.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: A#getC(){}kotlin.String? + // Public signature: /A.getC|-4926278272686304201[0] + // Public signature debug description: getC(){}kotlin.String? + /* fake */ override fun getC(): String? + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Boolean + // Public signature: /A.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: A#setA(kotlin.Int){} + // Public signature: /A.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: A#setB(kotlin.Boolean){} + // Public signature: /A.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + + // CHECK: + // Mangled name: A#setD(kotlin.Int?){} + // Public signature: /A.setD|-1444420329574284908[0] + // Public signature debug description: setD(kotlin.Int?){} + /* fake */ override fun setD(t: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getC(){}kotlin.String? + // Public signature: /B.getC|-4926278272686304201[0] + // Public signature debug description: getC(){}kotlin.String? + /* fake */ override fun getC(): String? + + // CHECK: + // Mangled name: B#setB(kotlin.Boolean){} + // Public signature: /B.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + + // CHECK: + // Mangled name: B#setD(kotlin.Int?){} + // Public signature: /B.setD|-1444420329574284908[0] + // Public signature debug description: setD(kotlin.Int?){} + /* fake */ override fun setD(t: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Int + // Public signature: /B.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean + // Public signature: /B.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + override fun isB(): Boolean + + // CHECK: + // Mangled name: B#setA(kotlin.Int){} + // Public signature: /B.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.ir.txt new file mode 100644 index 00000000000..6fcc603d713 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.ir.txt @@ -0,0 +1,978 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final h: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java1, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=19 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=20 + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=22 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=23 + PROPERTY name:j visibility:public modality:OPEN [var] + overridden: + public open j: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=24 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + public open k: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=25 + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=26 + FUN name: visibility:protected modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + protected open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=27 + PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open l: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Boolean type=kotlin.Boolean value=false + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final h: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=18 + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open c: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=21 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final h: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java2, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=42 + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=43 + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .D.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=45 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: CONST Int type=kotlin.Int value=46 + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final h: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:internal modality:FINAL <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:h visibility:internal modality:FINAL [fake_override,var] + overridden: + internal final fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java2, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=41 + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open c: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=44 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + PROPERTY name:d visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:e visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:e visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=6 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:e visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:f visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=7 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:f visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=8 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:f visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:g visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:g type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=9 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:g visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:g visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:g type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:h visibility:internal modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:h type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=11 + FUN name: visibility:internal modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:h visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=12 + FUN name: visibility:internal modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:h visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:h type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:i visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=13 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:i visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=14 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:i visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:k visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=16 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + PROPERTY name:l visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Boolean declared in .KotlinClass.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:c visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=3 + PROPERTY name:j visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=15 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:k type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:l type:kotlin.Boolean visibility:public/*package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.kt.txt new file mode 100644 index 00000000000..ec9da1ac914 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.kt.txt @@ -0,0 +1,227 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override var b: Int + field = 19 + override get + override set(value: Int) { + .#b = 20 + } + + override var d: Int + field = 22 + override get + override set(value: Int) { + .#d = 23 + } + + override var j: Int + field = 24 + override get + open set + + override var k: Int + field = 25 + override get(): Int { + return 26 + } + protected override set(value: Int) { + .#k = 27 + } + + override var l: Boolean + field = true + override get + override set(value: Boolean) { + .#l = false + } + + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override val a: Int + override get(): Int { + return 18 + } + + override val c: Int + override get(): Int { + return 21 + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + override var b: Int + field = 42 + override get(): Int { + return 43 + } + override set(value: Int) { + .#b = value.plus(other = 1) + } + + override var d: Int + field = 45 + override get + override set(value: Int) { + .#d = 46 + } + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override val a: Int + override get(): Int { + return 41 + } + + override val c: Int + override get(): Int { + return 44 + } + +} + +open class KotlinClass { + open val a: Int + field = 1 + open get + + open var b: Int + field = 2 + open get + open set + + open var d: Int + field = 4 + open get + open set(value: Int) { + .#d = value.plus(other = 1) + } + + var e: Int + field = 5 + get(): Int { + return 6 + } + private set(value: Int) { + .#e = value.plus(other = 1) + } + + protected var f: Int + field = 7 + protected get(): Int { + return 8 + } + protected set(value: Int) { + .#f = value.plus(other = 1) + } + + private var g: Int + field = 9 + private get(): Int { + return 10 + } + private set(value: Int) { + .#g = value.plus(other = 1) + } + + internal var h: Int + field = 11 + internal get(): Int { + return 12 + } + internal set(value: Int) { + .#h = value.plus(other = 1) + } + + protected var i: Int + field = 13 + protected get(): Int { + return 14 + } + private set(value: Int) { + .#i = value.plus(other = 1) + } + + open var k: Int + field = 16 + open get + protected open set + + open var l: Boolean + field = false + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open val c: Int + open get(): Int { + return 3 + } + + open val j: Int + open get(): Int { + return 15 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + c.#a /*~> Unit */ + c.() /*~> Unit */ + c.#c /*~> Unit */ + c.#d /*~> Unit */ + c.#e /*~> Unit */ + c.#j /*~> Unit */ + c.#k /*~> Unit */ + c.#l /*~> Unit */ + d.() /*~> Unit */ + d.() /*~> Unit */ + d.() /*~> Unit */ + d.#e /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..8813c4b06ec --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.fir.sig.kt.txt @@ -0,0 +1,851 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override val c: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}d + // Public signature: /A.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}e + // Public signature: /A.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}f + // Public signature: /A.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}h + // Public signature: /A.h|1569348114433471852[0] + // Public signature debug description: {}h + internal /* fake */ override var h: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}i + // Public signature: /A.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}j + // Public signature: /A.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}k + // Public signature: /A.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: A{}l + // Public signature: /A.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Boolean + // Public signature: /A.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: A#(kotlin.Boolean){} + // Public signature: /A.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}d + // Public signature: /B.d|5174763769109925331[0] + // Public signature debug description: {}d + override var d: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}j + // Public signature: /B.j|-6836075379230315579[0] + // Public signature debug description: {}j + override var j: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.j.|-2552993734713918980[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: B{}k + // Public signature: /B.k|2162811783424158931[0] + // Public signature debug description: {}k + override var k: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}l + // Public signature: /B.l|3307215303229595169[0] + // Public signature debug description: {}l + override var l: Boolean + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Boolean + // Public signature: /B.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + override get + // CHECK: + // Mangled name: B#(kotlin.Boolean){} + // Public signature: /B.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + override set(value: Boolean): Unit + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B{}e + // Public signature: /B.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}f + // Public signature: /B.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: B{}h + // Public signature: /B.h|1569348114433471852[0] + // Public signature debug description: {}h + internal /* fake */ override var h: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: B{}i + // Public signature: /B.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + override val c: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override val c: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}d + // Public signature: /C.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}e + // Public signature: /C.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}f + // Public signature: /C.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}h + // Public signature: /C.h|1569348114433471852[0] + // Public signature debug description: {}h + internal /* fake */ override var h: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}i + // Public signature: /C.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}j + // Public signature: /C.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}k + // Public signature: /C.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: C{}l + // Public signature: /C.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Boolean + // Public signature: /C.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: C#(kotlin.Boolean){} + // Public signature: /C.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: D{}d + // Public signature: /D.d|5174763769109925331[0] + // Public signature debug description: {}d + override var d: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D{}e + // Public signature: /D.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}f + // Public signature: /D.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: D{}h + // Public signature: /D.h|1569348114433471852[0] + // Public signature debug description: {}h + internal /* fake */ override var h: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: D{}i + // Public signature: /D.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}j + // Public signature: /D.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}k + // Public signature: /D.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: D{}l + // Public signature: /D.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Boolean + // Public signature: /D.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: D#(kotlin.Boolean){} + // Public signature: /D.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: D{}c + // Public signature: /D.c|-4416962153448040627[0] + // Public signature debug description: {}c + override val c: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: KotlinClass{}b + // Public signature: /KotlinClass.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: KotlinClass{}d + // Public signature: /KotlinClass.d|5174763769109925331[0] + // Public signature debug description: {}d + open var d: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + open set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}e + // Public signature: /KotlinClass.e|-5812214850253973038[0] + // Public signature debug description: {}e + var e: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}f + // Public signature: /KotlinClass.f|4026638760133205152[0] + // Public signature debug description: {}f + protected var f: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}g + // Public signature: /KotlinClass.g|417398068120208694[0] + // Public signature debug description: {}g + private var g: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.g.|6197503063121438862[0] + // Public signature debug description: (){}kotlin.Int + private get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.g.|-7798283286247038206[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}h + // Public signature: /KotlinClass.h|1569348114433471852[0] + // Public signature debug description: {}h + internal var h: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}i + // Public signature: /KotlinClass.i|5014384761142332495[0] + // Public signature debug description: {}i + protected var i: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.i.|1223530399758590178[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}k + // Public signature: /KotlinClass.k|2162811783424158931[0] + // Public signature debug description: {}k + open var k: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected open set + + // CHECK: + // Mangled name: KotlinClass{}l + // Public signature: /KotlinClass.l|3307215303229595169[0] + // Public signature debug description: {}l + open var l: Boolean + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Boolean + // Public signature: /KotlinClass.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Boolean){} + // Public signature: /KotlinClass.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + open set + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass{}c + // Public signature: /KotlinClass.c|-4416962153448040627[0] + // Public signature debug description: {}c + open val c: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + open get(): Int + + // CHECK: + // Mangled name: KotlinClass{}j + // Public signature: /KotlinClass.j|-6836075379230315579[0] + // Public signature debug description: {}j + open val j: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + open get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.ir.txt new file mode 100644 index 00000000000..cccfa93d72b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.ir.txt @@ -0,0 +1,988 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=19 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=20 + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=22 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=23 + PROPERTY name:j visibility:public modality:OPEN [var] + overridden: + public open j: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=24 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + public open k: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=25 + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=26 + FUN name: visibility:protected modality:OPEN <> ($this:.B, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Int type=kotlin.Int value=27 + PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open l: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN name: visibility:public modality:OPEN <> ($this:.B, value:kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:value index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: CONST Boolean type=kotlin.Boolean value=false + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=18 + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open c: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=21 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open c: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:e visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final e: kotlin.Int + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:f visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final f: kotlin.Int + PROPERTY FAKE_OVERRIDE name:g visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final g: kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final h: kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:i visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final i: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:j visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j: kotlin.Int + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:k visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final k: kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + PROPERTY FAKE_OVERRIDE name:l visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final l: kotlin.Boolean + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=42 + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=43 + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .D.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=45 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + FUN name: visibility:public modality:OPEN <> ($this:.D, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: CONST Int type=kotlin.Int value=46 + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:c visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final c: kotlin.Int + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: kotlin.Int + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:e visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final e: kotlin.Int + PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final f: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:f visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (value: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:f visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final f: kotlin.Int + PROPERTY FAKE_OVERRIDE name:g visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final g: kotlin.Int + PROPERTY FAKE_OVERRIDE name:h visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final h: kotlin.Int + PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final i: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:i visibility:protected modality:FINAL [fake_override,var] + overridden: + protected final fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:i visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final i: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open j: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:j visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + PROPERTY FAKE_OVERRIDE name:j visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j: kotlin.Int + PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open k: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:k visibility:public modality:OPEN [fake_override,var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:k visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final k: kotlin.Int + PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open l: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:l visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + PROPERTY FAKE_OVERRIDE name:l visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final l: kotlin.Boolean + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=41 + PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open c: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=44 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + PROPERTY name:d visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:e visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN name: visibility:public modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:e visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=6 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:e visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:e type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:f visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=7 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:f visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=8 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:f visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:f type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:g visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:g type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=9 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:g visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:g visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:g type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:h visibility:internal modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:h type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=11 + FUN name: visibility:internal modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:h visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=12 + FUN name: visibility:internal modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:h visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:h type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:i visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=13 + FUN name: visibility:protected modality:FINAL <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:i visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=14 + FUN name: visibility:private modality:FINAL <> ($this:.KotlinClass, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:i visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:i type:kotlin.Int visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUS + $this: GET_VAR 'value: kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=1 + PROPERTY name:k visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=16 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinClass, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:k visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:k type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Int declared in .KotlinClass.' type=kotlin.Int origin=null + PROPERTY name:l visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .KotlinClass' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.KotlinClass, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:l visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.KotlinClass + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:l type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .KotlinClass declared in .KotlinClass.' type=.KotlinClass origin=null + value: GET_VAR ': kotlin.Boolean declared in .KotlinClass.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:c visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=3 + PROPERTY name:j visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinClass) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinClass + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinClass' + CONST Int type=kotlin.Int value=15 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:k type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:l type:kotlin.Boolean visibility:public/*package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt new file mode 100644 index 00000000000..73483202a1e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt @@ -0,0 +1,154 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65679, KT-65801 + +// FILE: Java1.java +public class Java1 extends KotlinClass { } + +// FILE: Java2.java +public class Java2 extends KotlinClass { + int a = 29; + private int b = 30; + protected int c = 31; + public int d = 32; + int e = 33; + int f = 34; + int g = 35; + int h = 36; + int i = 37; + int j = 38; + int k = 39; + boolean l = false; +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override val a: Int + get() = 18 + + override var b: Int = 19 + set(value) { + field = 20 + } + + override val c: Int + get() = 21 + + override var d: Int = 22 + set(value) { + field = 23 + } + + override var j = 24 + + override var k: Int = 25 + get() = 26 + set(value) { + field = 27 + } + override var l: Boolean = true + set(value) { + field = false + } +} + +class C : Java2() + +class D : Java2() { + override val a: Int + get() = 41 + override var b: Int = 42 + get() = 43 + set(value) { + field = value+1 + } + override val c: Int + get() = 44 + override var d: Int = 45 + set(value) { + field = 46 + } +} + +open class KotlinClass { + open val a: Int = 1 + open var b: Int = 2 + + open val c : Int + get() = 3 + + open var d : Int = 4 + set(value) { + field = value + 1 + } + + var e : Int = 5 + get() = 6 + private set(value) { + field = value + 1 + } + + protected var f : Int = 7 + get() = 8 + protected set(value) { + field = value + 1 + } + + private var g : Int = 9 + get() = 10 + private set(value) { + field = value + 1 + } + + internal var h : Int = 11 + get() = 12 + internal set(value) { + field = value + 1 + } + + protected var i : Int = 13 + get() = 14 + private set(value) { + field = value + 1 + } + + open val j get() = 15 + + open var k: Int = 16 + protected set + + open var l: Boolean = false +} + +fun test(a: A, b: B, c: C, d: D) { + a.a + a.b + a.c + a.d + a.e + a.j + a.k + a.l + b.a + b.b + b.c + b.d + b.e + b.j + b.k + b.l + c.a + c.b + c.c + c.d + c.e + c.j + c.k + c.l + d.a + d.b + d.c + d.e +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt.txt new file mode 100644 index 00000000000..81a52111b1d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt.txt @@ -0,0 +1,227 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + override var b: Int + field = 19 + override get + override set(value: Int) { + .#b = 20 + } + + override var d: Int + field = 22 + override get + override set(value: Int) { + .#d = 23 + } + + override var j: Int + field = 24 + override get + open set + + override var k: Int + field = 25 + override get(): Int { + return 26 + } + protected override set(value: Int) { + .#k = 27 + } + + override var l: Boolean + field = true + override get + override set(value: Boolean) { + .#l = false + } + + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override val a: Int + override get(): Int { + return 18 + } + + override val c: Int + override get(): Int { + return 21 + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + override var b: Int + field = 42 + override get(): Int { + return 43 + } + override set(value: Int) { + .#b = value.plus(other = 1) + } + + override var d: Int + field = 45 + override get + override set(value: Int) { + .#d = 46 + } + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override val a: Int + override get(): Int { + return 41 + } + + override val c: Int + override get(): Int { + return 44 + } + +} + +open class KotlinClass { + open val a: Int + field = 1 + open get + + open var b: Int + field = 2 + open get + open set + + open var d: Int + field = 4 + open get + open set(value: Int) { + .#d = value.plus(other = 1) + } + + var e: Int + field = 5 + get(): Int { + return 6 + } + private set(value: Int) { + .#e = value.plus(other = 1) + } + + protected var f: Int + field = 7 + protected get(): Int { + return 8 + } + protected set(value: Int) { + .#f = value.plus(other = 1) + } + + private var g: Int + field = 9 + private get(): Int { + return 10 + } + private set(value: Int) { + .#g = value.plus(other = 1) + } + + internal var h: Int + field = 11 + internal get(): Int { + return 12 + } + internal set(value: Int) { + .#h = value.plus(other = 1) + } + + protected var i: Int + field = 13 + protected get(): Int { + return 14 + } + private set(value: Int) { + .#i = value.plus(other = 1) + } + + open var k: Int + field = 16 + open get + protected open set + + open var l: Boolean + field = false + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open val c: Int + open get(): Int { + return 3 + } + + open val j: Int + open get(): Int { + return 15 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + a.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + b.() /*~> Unit */ + c(super).#a /*~> Unit */ + c.() /*~> Unit */ + c(super).#c /*~> Unit */ + c(super).#d /*~> Unit */ + c(super).#e /*~> Unit */ + c(super).#j /*~> Unit */ + c(super).#k /*~> Unit */ + c(super).#l /*~> Unit */ + d(super).#a /*~> Unit */ + d.() /*~> Unit */ + d(super).#c /*~> Unit */ + d(super).#e /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.sig.kt.txt new file mode 100644 index 00000000000..7fca7cfa813 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.sig.kt.txt @@ -0,0 +1,787 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override val c: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}d + // Public signature: /A.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: A{}e + // Public signature: /A.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}f + // Public signature: /A.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: A{}i + // Public signature: /A.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}j + // Public signature: /A.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}k + // Public signature: /A.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: A{}l + // Public signature: /A.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Boolean + // Public signature: /A.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: A#(kotlin.Boolean){} + // Public signature: /A.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}d + // Public signature: /B.d|5174763769109925331[0] + // Public signature debug description: {}d + override var d: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}j + // Public signature: /B.j|-6836075379230315579[0] + // Public signature debug description: {}j + override var j: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.j.|-2552993734713918980[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: B{}k + // Public signature: /B.k|2162811783424158931[0] + // Public signature debug description: {}k + override var k: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}l + // Public signature: /B.l|3307215303229595169[0] + // Public signature debug description: {}l + override var l: Boolean + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Boolean + // Public signature: /B.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + override get + // CHECK: + // Mangled name: B#(kotlin.Boolean){} + // Public signature: /B.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + override set(value: Boolean): Unit + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B{}e + // Public signature: /B.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}f + // Public signature: /B.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: B{}i + // Public signature: /B.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + override val c: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override val c: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}d + // Public signature: /C.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: C{}e + // Public signature: /C.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}f + // Public signature: /C.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: C{}i + // Public signature: /C.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}j + // Public signature: /C.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}k + // Public signature: /C.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}l + // Public signature: /C.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Boolean + // Public signature: /C.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: C#(kotlin.Boolean){} + // Public signature: /C.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: D{}d + // Public signature: /D.d|5174763769109925331[0] + // Public signature debug description: {}d + override var d: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D{}e + // Public signature: /D.e|-5812214850253973038[0] + // Public signature debug description: {}e + /* fake */ override var e: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}f + // Public signature: /D.f|4026638760133205152[0] + // Public signature debug description: {}f + protected /* fake */ override var f: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: D{}i + // Public signature: /D.i|5014384761142332495[0] + // Public signature debug description: {}i + protected /* fake */ override var i: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}j + // Public signature: /D.j|-6836075379230315579[0] + // Public signature debug description: {}j + /* fake */ override val j: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}k + // Public signature: /D.k|2162811783424158931[0] + // Public signature debug description: {}k + /* fake */ override var k: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: D{}l + // Public signature: /D.l|3307215303229595169[0] + // Public signature debug description: {}l + /* fake */ override var l: Boolean + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Boolean + // Public signature: /D.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + // CHECK: + // Mangled name: D#(kotlin.Boolean){} + // Public signature: /D.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + /* fake */ override set(: Boolean): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: D{}c + // Public signature: /D.c|-4416962153448040627[0] + // Public signature debug description: {}c + override val c: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass { + // CHECK: + // Mangled name: KotlinClass{}a + // Public signature: /KotlinClass.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: KotlinClass{}b + // Public signature: /KotlinClass.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: KotlinClass{}d + // Public signature: /KotlinClass.d|5174763769109925331[0] + // Public signature debug description: {}d + open var d: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.d.|-3703416348690628760[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.d.|4161969082808539024[0] + // Public signature debug description: (kotlin.Int){} + open set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}e + // Public signature: /KotlinClass.e|-5812214850253973038[0] + // Public signature debug description: {}e + var e: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.e.|7542680625372527774[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.e.|352344213206183027[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}f + // Public signature: /KotlinClass.f|4026638760133205152[0] + // Public signature debug description: {}f + protected var f: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.f.|-4635639937946815598[0] + // Public signature debug description: (){}kotlin.Int + protected get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.f.|3759249595734875908[0] + // Public signature debug description: (kotlin.Int){} + protected set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}g + // Public signature: /KotlinClass.g|417398068120208694[0] + // Public signature debug description: {}g + private var g: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.g.|6197503063121438862[0] + // Public signature debug description: (){}kotlin.Int + private get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.g.|-7798283286247038206[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}h + // Public signature: /KotlinClass.h|1569348114433471852[0] + // Public signature debug description: {}h + internal var h: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.h.|-7966737444545736232[0] + // Public signature debug description: (){}kotlin.Int + internal get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.h.|4870088823312964600[0] + // Public signature debug description: (kotlin.Int){} + internal set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}i + // Public signature: /KotlinClass.i|5014384761142332495[0] + // Public signature debug description: {}i + protected var i: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.i.|-8784396159001927527[0] + // Public signature debug description: (){}kotlin.Int + protected get(): Int + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.i.|1223530399758590178[0] + // Public signature debug description: (kotlin.Int){} + private set(value: Int): Unit + + // CHECK: + // Mangled name: KotlinClass{}k + // Public signature: /KotlinClass.k|2162811783424158931[0] + // Public signature debug description: {}k + open var k: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.k.|3400381018773294676[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Int){} + // Public signature: /KotlinClass.k.|5348632633861416145[0] + // Public signature debug description: (kotlin.Int){} + protected open set + + // CHECK: + // Mangled name: KotlinClass{}l + // Public signature: /KotlinClass.l|3307215303229595169[0] + // Public signature debug description: {}l + open var l: Boolean + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Boolean + // Public signature: /KotlinClass.l.|-7394222383159531524[0] + // Public signature debug description: (){}kotlin.Boolean + open get + // CHECK: + // Mangled name: KotlinClass#(kotlin.Boolean){} + // Public signature: /KotlinClass.l.|179600990731663245[0] + // Public signature debug description: (kotlin.Boolean){} + open set + + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass{}c + // Public signature: /KotlinClass.c|-4416962153448040627[0] + // Public signature debug description: {}c + open val c: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.c.|-2440337234483931882[0] + // Public signature debug description: (){}kotlin.Int + open get(): Int + + // CHECK: + // Mangled name: KotlinClass{}j + // Public signature: /KotlinClass.j|-6836075379230315579[0] + // Public signature debug description: {}j + open val j: Int + // CHECK JVM_IR: + // Mangled name: KotlinClass#(){}kotlin.Int + // Public signature: /KotlinClass.j.|-3864411980088009037[0] + // Public signature debug description: (){}kotlin.Int + open get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..fc33120327e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.ir.txt @@ -0,0 +1,846 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Boolean declared in .B.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + GET_VAR 'b: kotlin.Boolean declared in .C.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Boolean declared in .C.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.Boolean) returnType:.C [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface; .KotlinInterface2]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isB visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=true + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.E, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + GET_VAR 'b: kotlin.Boolean declared in .G.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Boolean declared in .G.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.Boolean) returnType:.G [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .Java4]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .I' + CONST Boolean type=kotlin.Boolean value=true + FUN name: visibility:public modality:OPEN <> ($this:.I, value:kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:value index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + value: CONST Boolean type=kotlin.Boolean value=false + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java2]' + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface3 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .KotlinInterface3 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.KotlinInterface3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.KotlinInterface3; .Java2]' + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface3 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .KotlinInterface3 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.K, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java2; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java2; .Java5]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java2; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java2; .Java5]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.M, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.M + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:b visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .KotlinInterface2' + CONST Boolean type=kotlin.Boolean value=true + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun (: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun (value: kotlin.Boolean): kotlin.Unit declared in .I' type=kotlin.Unit origin=EQ + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .K' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .L' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .M' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..5d9f6842009 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.fir.kt.txt @@ -0,0 +1,214 @@ +abstract class A : Java2, Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2, Java1, KotlinInterface { + override var b: Boolean + field = false + override get(): Boolean { + return true + } + override set + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java2, KotlinInterface, KotlinInterface2 { + override var b: Boolean + field = b + override get + override set + + constructor(b: Boolean) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun isB(): Boolean { + return true + } + +} + +abstract class D : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any?) { + } + +} + +abstract class F : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class G : Java2, Java4 { + override var b: Boolean + field = b + override get + override set + + constructor(b: Boolean) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun getA(): Int { + return 10 + } + +} + +abstract class H : Java4, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class I : Java4, KotlinInterface2 { + override var b: Boolean + field = false + override get(): Boolean { + return true + } + override set(value: Boolean) { + .#b = false + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java2, KotlinInterface3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class K : Java2, KotlinInterface3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any?) { + } + +} + +abstract class L : Java2, Java5 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class M : Java2, Java5 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any) { + } + +} + +interface KotlinInterface { + abstract var b: Boolean + abstract get + abstract set + +} + +interface KotlinInterface2 { + fun isB(): Boolean { + return true + } + +} + +interface KotlinInterface3 : Java3 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M) { + a.getA() /*~> Unit */ + a.isB() /*~> Unit */ + b.getA() /*~> Unit */ + b.setA(t = 2) + b.isB() /*~> Unit */ + c.getA() /*~> Unit */ + c.isB() /*~> Unit */ + c.setA(t = 2) + c.( = false) + d.getA() /*~> Unit */ + d.#b /*~> Unit */ + d.isB() /*~> Unit */ + e.getA() /*~> Unit */ + e.#b /*~> Unit */ + e.isB() /*~> Unit */ + f.getA() /*~> Unit */ + f.isB() /*~> Unit */ + f.setA(t = 2) + g.getA() /*~> Unit */ + g.isB() /*~> Unit */ + g.setA(t = 2) + h.() /*~> Unit */ + h.isB() /*~> Unit */ + h.( = false) + i.() /*~> Unit */ + i.isB() /*~> Unit */ + i.(value = false) + j.getA() /*~> Unit */ + j.isB() /*~> Unit */ + k.getA() /*~> Unit */ + k.isB() /*~> Unit */ + l.getA() /*~> Unit */ + l.isB() /*~> Unit */ + m.getA() /*~> Unit */ + m.isB() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.ir.txt new file mode 100644 index 00000000000..55e285627d1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.ir.txt @@ -0,0 +1,879 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Boolean declared in .B.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + GET_VAR 'b: kotlin.Boolean declared in .C.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Boolean declared in .C.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.Boolean) returnType:.C [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface; .KotlinInterface2]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isB visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .C' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java1 + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.E, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2; .Java4]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + GET_VAR 'b: kotlin.Boolean declared in .G.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Boolean declared in .G.' type=kotlin.Boolean origin=null + CONSTRUCTOR visibility:public <> (b:kotlin.Boolean) returnType:.G [primary] + VALUE_PARAMETER name:b index:0 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .Java4]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=false + FUN name: visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .I' + CONST Boolean type=kotlin.Boolean value=true + FUN name: visibility:public modality:OPEN <> ($this:.I, value:kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:value index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + value: CONST Boolean type=kotlin.Boolean value=false + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.KotlinInterface3; .Java2]' + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface3 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .KotlinInterface3 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.KotlinInterface3; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.KotlinInterface3; .Java2]' + 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 .KotlinInterface3 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface3 + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .KotlinInterface3 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .KotlinInterface3 + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .KotlinInterface3 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.K, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .KotlinInterface3 + $this: VALUE_PARAMETER name: type:.K + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java2; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Java2; .Java5]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java2; .Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java2; .Java5]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + public abstract fun isB (): kotlin.Boolean declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java2 + public open fun toString (): kotlin.String declared in .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.M, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.M + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:b visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isB visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .KotlinInterface2' + CONST Boolean type=kotlin.Boolean value=true + CLASS INTERFACE name:KotlinInterface3 modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java3, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Boolean origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .E' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .F' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .G' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .H' type=kotlin.Boolean origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun (: kotlin.Boolean): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .I' type=kotlin.Boolean origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun (value: kotlin.Boolean): kotlin.Unit declared in .I' type=kotlin.Unit origin=EQ + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + value: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .J' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .K' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .L' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .M' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt new file mode 100644 index 00000000000..b0feca66ece --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt @@ -0,0 +1,140 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + Object getA(); + boolean isB(); +} + +// FILE: Java2.java +public class Java2 { + private int a = 0; + public int getA(){ + return 1; + } + public void setA(int t){ + a = t; + } + + protected boolean b = true; + public boolean isB(){ + return b; + } +} + +// FILE: Java3.java +public interface Java3 { + Object a = "1"; + Object getA(); + void setA(Object t); + + boolean b = true; + boolean isB(); +} + +// FILE: Java4.java +public interface Java4 extends KotlinInterface {} + +// FILE: Java5.java +public interface Java5 extends Java3 { } + +// FILE: 1.kt +abstract class A : Java1, Java2(), KotlinInterface // Kotlin ← Java1, Java2, Kotlin2 + +class B : Java1, Java2(), KotlinInterface { + override var b: Boolean = false + get() = true +} + +class C(override var b: Boolean) : Java2(), KotlinInterface, KotlinInterface2 { // Kotlin ← Java, Kotlin1, Kotlin2 + override fun isB(): Boolean { + return true + } +} + +abstract class D : Java1, Java2(), Java3 //Kotlin ← Java1, Java2, Java3 + +class E : Java1, Java2(), Java3 { + override fun setA(t: Any?) { } +} + +abstract class F : Java2(), Java4 //Kotlin ← Java1, Java2 ← Kotlin2 + +class G(override var b: Boolean) : Java2(), Java4 { + override fun getA(): Int { + return 10 + } +} + +abstract class H : Java4, KotlinInterface2 // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class I : Java4, KotlinInterface2{ + override var b: Boolean = false + get() = true + set(value) { + field = false + } +} + +abstract class J : KotlinInterface3, Java2() //Kotlin ← Java, Kotlin2 ← Java2 + +class K : KotlinInterface3, Java2() { + override fun setA(t: Any?) {} +} + +abstract class L : Java2(), Java5 //Kotlin ← Java1, Java2 ← Java3 + +class M : Java2(), Java5 { + override fun setA(t: Any) { } +} + + +interface KotlinInterface { + var b: Boolean +} + +interface KotlinInterface2 { + fun isB(): Boolean { + return true + } +} + +interface KotlinInterface3 : Java3 + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M){ + a.a + a.isB + b.a + b.a = 2 + b.isB + c.a + c.isB + c.a = 2 + c.b = false + d.a + d.b + d.isB + e.a + e.b + e.isB + f.a + f.isB + f.a = 2 + g.a + g.isB + g.a = 2 + h.b + h.isB() + h.b = false + i.b + i.isB() + i.b = false + j.a + j.isB + k.a + k.isB + l.a + l.isB + m.a + m.isB +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt.txt new file mode 100644 index 00000000000..6efc925a87d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt.txt @@ -0,0 +1,214 @@ +abstract class A : Java2, Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2, Java1, KotlinInterface { + override var b: Boolean + field = false + override get(): Boolean { + return true + } + override set + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java2, KotlinInterface, KotlinInterface2 { + override var b: Boolean + field = b + override get + override set + + constructor(b: Boolean) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun isB(): Boolean { + return true + } + +} + +abstract class D : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any?) { + } + +} + +abstract class F : Java2, Java4 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class G : Java2, Java4 { + override var b: Boolean + field = b + override get + override set + + constructor(b: Boolean) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun getA(): Int { + return 10 + } + +} + +abstract class H : Java4, KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class I : Java4, KotlinInterface2 { + override var b: Boolean + field = false + override get(): Boolean { + return true + } + override set(value: Boolean) { + .#b = false + } + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class J : Java2, KotlinInterface3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class K : Java2, KotlinInterface3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any?) { + } + +} + +abstract class L : Java2, Java5 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class M : Java2, Java5 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun setA(t: Any) { + } + +} + +interface KotlinInterface { + abstract var b: Boolean + abstract get + abstract set + +} + +interface KotlinInterface2 { + fun isB(): Boolean { + return true + } + +} + +interface KotlinInterface3 : Java3 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M) { + a.getA() /*~> Unit */ + a.isB() /*~> Unit */ + b.getA() /*~> Unit */ + b.setA(t = 2) + b.isB() /*~> Unit */ + c.getA() /*~> Unit */ + c.isB() /*~> Unit */ + c.setA(t = 2) + c(super).#b = false + d.getA() /*~> Unit */ + d(super).#b /*~> Unit */ + d.isB() /*~> Unit */ + e.getA() /*~> Unit */ + e(super).#b /*~> Unit */ + e.isB() /*~> Unit */ + f.getA() /*~> Unit */ + f.isB() /*~> Unit */ + f.setA(t = 2) + g.getA() /*~> Unit */ + g.isB() /*~> Unit */ + g.setA(t = 2) + h.() /*~> Unit */ + h.isB() /*~> Unit */ + h.( = false) + i.() /*~> Unit */ + i.isB() /*~> Unit */ + i.(value = false) + j.getA() /*~> Unit */ + j.isB() /*~> Unit */ + k.getA() /*~> Unit */ + k.isB() /*~> Unit */ + l.getA() /*~> Unit */ + l.isB() /*~> Unit */ + m.getA() /*~> Unit */ + m.isB() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..ca32a3cf76c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.sig.kt.txt @@ -0,0 +1,577 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java2, Java1, KotlinInterface { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int + // Public signature: /A.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Boolean + // Public signature: /A.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: A#setA(kotlin.Int){} + // Public signature: /A.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override var b: Boolean + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Boolean + // Public signature: /A.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract /* fake */ override get(): Boolean + // CHECK: + // Mangled name: A#(kotlin.Boolean){} + // Public signature: /A.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + abstract /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2, Java1, KotlinInterface { + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Boolean + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Boolean + // Public signature: /B.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + override get(): Boolean + // CHECK: + // Mangled name: B#(kotlin.Boolean){} + // Public signature: /B.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + override set + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Int + // Public signature: /B.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean + // Public signature: /B.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: B#setA(kotlin.Int){} + // Public signature: /B.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Boolean + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Boolean + // Public signature: /C.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + override get + // CHECK: + // Mangled name: C#(kotlin.Boolean){} + // Public signature: /C.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + override set + + // CHECK: + // Mangled name: C#(kotlin.Boolean){} + // Public signature: /C.|-3281220317975457238[0] + // Public signature debug description: (kotlin.Boolean){} + constructor(b: Boolean) /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getA(){}kotlin.Int + // Public signature: /C.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK: + // Mangled name: C#setA(kotlin.Int){} + // Public signature: /C.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#isB(){}kotlin.Boolean + // Public signature: /C.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + override fun isB(): Boolean + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2, Java1, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#getA(){}kotlin.Int + // Public signature: /D.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: D#isB(){}kotlin.Boolean + // Public signature: /D.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: D#setA(kotlin.Any?){} + // Public signature: /D.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + abstract /* fake */ override fun setA(t: Any?): Unit + + // CHECK: + // Mangled name: D#setA(kotlin.Int){} + // Public signature: /D.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2, Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#getA(){}kotlin.Int + // Public signature: /E.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: E#isB(){}kotlin.Boolean + // Public signature: /E.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: E#setA(kotlin.Int){} + // Public signature: /E.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: E#setA(kotlin.Any?){} + // Public signature: /E.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + override fun setA(t: Any?): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2, Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#getA(){}kotlin.Int + // Public signature: /F.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: F#isB(){}kotlin.Boolean + // Public signature: /F.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: F#setA(kotlin.Int){} + // Public signature: /F.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: F{}b + // Public signature: /F.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override var b: Boolean + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Boolean + // Public signature: /F.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract /* fake */ override get(): Boolean + // CHECK: + // Mangled name: F#(kotlin.Boolean){} + // Public signature: /F.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + abstract /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java2, Java4 { + // CHECK: + // Mangled name: G{}b + // Public signature: /G.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Boolean + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Boolean + // Public signature: /G.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + override get + // CHECK: + // Mangled name: G#(kotlin.Boolean){} + // Public signature: /G.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + override set + + // CHECK: + // Mangled name: G#(kotlin.Boolean){} + // Public signature: /G.|-3281220317975457238[0] + // Public signature debug description: (kotlin.Boolean){} + constructor(b: Boolean) /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#isB(){}kotlin.Boolean + // Public signature: /G.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: G#setA(kotlin.Int){} + // Public signature: /G.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK JVM_IR: + // Mangled name: G#getA(){}kotlin.Int + // Public signature: /G.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + override fun getA(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java4, KotlinInterface2 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#isB(){}kotlin.Boolean + // Public signature: /H.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: H{}b + // Public signature: /H.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override var b: Boolean + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Boolean + // Public signature: /H.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract /* fake */ override get(): Boolean + // CHECK: + // Mangled name: H#(kotlin.Boolean){} + // Public signature: /H.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + abstract /* fake */ override set(: Boolean): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java4, KotlinInterface2 { + // CHECK: + // Mangled name: I{}b + // Public signature: /I.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Boolean + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Boolean + // Public signature: /I.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + override get(): Boolean + // CHECK: + // Mangled name: I#(kotlin.Boolean){} + // Public signature: /I.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + override set(value: Boolean): Unit + + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#isB(){}kotlin.Boolean + // Public signature: /I.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java2, KotlinInterface3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#getA(){}kotlin.Int + // Public signature: /J.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: J#isB(){}kotlin.Boolean + // Public signature: /J.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: J#setA(kotlin.Any?){} + // Public signature: /J.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + abstract /* fake */ override fun setA(t: Any?): Unit + + // CHECK: + // Mangled name: J#setA(kotlin.Int){} + // Public signature: /J.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java2, KotlinInterface3 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: K#getA(){}kotlin.Int + // Public signature: /K.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: K#isB(){}kotlin.Boolean + // Public signature: /K.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: K#setA(kotlin.Int){} + // Public signature: /K.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: K#setA(kotlin.Any?){} + // Public signature: /K.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + override fun setA(t: Any?): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +abstract class L : Java2, Java5 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: L#getA(){}kotlin.Int + // Public signature: /L.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: L#isB(){}kotlin.Boolean + // Public signature: /L.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: L#setA(kotlin.Any?){} + // Public signature: /L.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + abstract /* fake */ override fun setA(t: Any?): Unit + + // CHECK: + // Mangled name: L#setA(kotlin.Int){} + // Public signature: /L.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : Java2, Java5 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: M#getA(){}kotlin.Int + // Public signature: /M.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: M#isB(){}kotlin.Boolean + // Public signature: /M.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: M#setA(kotlin.Int){} + // Public signature: /M.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: M#setA(kotlin.Any){} + // Public signature: /M.setA|-2820461130900398808[0] + // Public signature debug description: setA(kotlin.Any){} + override fun setA(t: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract var b: Boolean + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Boolean + // Public signature: /KotlinInterface.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Boolean){} + // Public signature: /KotlinInterface.b.|6241447189413274333[0] + // Public signature debug description: (kotlin.Boolean){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#isB(){}kotlin.Boolean + // Public signature: /KotlinInterface2.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + fun isB(): Boolean + +} + +// CHECK: +// Mangled name: KotlinInterface3 +// Public signature: /KotlinInterface3|null[0] +interface KotlinInterface3 : Java3 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#getA(){}kotlin.Any? + // Public signature: /KotlinInterface3.getA|-967038428963521174[0] + // Public signature debug description: getA(){}kotlin.Any? + abstract /* fake */ override fun getA(): Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface3#isB(){}kotlin.Boolean + // Public signature: /KotlinInterface3.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + abstract /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: KotlinInterface3#setA(kotlin.Any?){} + // Public signature: /KotlinInterface3.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + abstract /* fake */ override fun setA(t: Any?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L;M){} +// Public signature: /test|-5618248177050682296[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L;M){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.ir.txt new file mode 100644 index 00000000000..9626cc3db23 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.ir.txt @@ -0,0 +1,207 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=100 + FUN name:isB visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:setB visibility:public modality:FINAL <> ($this:.B, t:kotlin.Boolean) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.setB' type=.B origin=null + value: GET_VAR 't: kotlin.Boolean declared in .B.setB' type=kotlin.Boolean origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java3, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setB visibility:public modality:OPEN <> ($this:.D, t:kotlin.Boolean) returnType:kotlin.Unit + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.kt.txt new file mode 100644 index 00000000000..4860e988cbd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.fir.kt.txt @@ -0,0 +1,71 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getA(): Int { + return 100 + } + + override fun isB(): Boolean { + return false + } + + fun setB(t: Boolean) { + .#b = t + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun setA(t: Int) { + } + + override fun setB(t: Boolean) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.getA() /*~> Unit */ + a.setA(t = 2) + a.isB() /*~> Unit */ + b.getA() /*~> Unit */ + b.setA(t = 2) + b.isB() /*~> Unit */ + b.setB(t = true) + c.getA() /*~> Unit */ + c.setA(t = 2) + c.isB() /*~> Unit */ + c.setB(t = true) + d.getA() /*~> Unit */ + d.setA(t = 2) + d.isB() /*~> Unit */ + d.setB(t = true) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.ir.txt new file mode 100644 index 00000000000..c5558bbbfc1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.ir.txt @@ -0,0 +1,219 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=100 + FUN name:isB visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:setB visibility:public modality:FINAL <> ($this:.B, t:kotlin.Boolean) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:kotlin.Boolean visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR ': .B declared in .B.setB' type=.B origin=null + value: GET_VAR 't: kotlin.Boolean declared in .B.setB' type=kotlin.Boolean origin=null + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java3, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setB visibility:public modality:OPEN <> ($this:.D, t:kotlin.Boolean) returnType:kotlin.Unit + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:b visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final b: kotlin.Boolean + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt new file mode 100644 index 00000000000..e2a439a57c6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt @@ -0,0 +1,69 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 extends Java2 { } + +// FILE: Java2.java +public class Java2 { + private int a = 0; + public int getA(){ + return 1; + } + public void setA(int t){ + a = t; + } + + protected boolean b = true; + public boolean isB(){ + return b; + } +} + +// FILE: Java3.java +public class Java3 extends Java2 { + @Override + public void setA(int t){ } + public void setB(boolean t){ + this.b = t; + }; +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun getA(): Int { + return 100 + } + fun setB(t: Boolean) { + b = t + } + override fun isB(): Boolean { + return false + } +} + +class C : Java3() + +class D : Java3() { + override fun setA(t: Int) {} + override fun setB(t: Boolean) {} +} + +fun test(a: A, b: B, c: C, d: D){ + a.a + a.a = 2 + a.isB + b.a + b.a = 2 + b.isB + b.isB = true + c.a + c.a = 2 + c.isB + c.isB = true + d.a + d.a = 2 + d.isB + d.isB = true +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt.txt new file mode 100644 index 00000000000..0f046fe3c99 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt.txt @@ -0,0 +1,71 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getA(): Int { + return 100 + } + + override fun isB(): Boolean { + return false + } + + fun setB(t: Boolean) { + (super).#b = t + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun setA(t: Int) { + } + + override fun setB(t: Boolean) { + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.getA() /*~> Unit */ + a.setA(t = 2) + a.isB() /*~> Unit */ + b.getA() /*~> Unit */ + b.setA(t = 2) + b.isB() /*~> Unit */ + b.setB(t = true) + c.getA() /*~> Unit */ + c.setA(t = 2) + c.isB() /*~> Unit */ + c.setB(t = true) + d.getA() /*~> Unit */ + d.setA(t = 2) + d.isB() /*~> Unit */ + d.setB(t = true) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..ca8bdf89659 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.sig.kt.txt @@ -0,0 +1,144 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int + // Public signature: /A.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Boolean + // Public signature: /A.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: A#setA(kotlin.Int){} + // Public signature: /A.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#setA(kotlin.Int){} + // Public signature: /B.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Int + // Public signature: /B.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean + // Public signature: /B.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + override fun isB(): Boolean + + // CHECK: + // Mangled name: B#setB(kotlin.Boolean){} + // Public signature: /B.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getA(){}kotlin.Int + // Public signature: /C.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: C#isB(){}kotlin.Boolean + // Public signature: /C.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: C#setA(kotlin.Int){} + // Public signature: /C.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + @Override + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: C#setB(kotlin.Boolean){} + // Public signature: /C.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#getA(){}kotlin.Int + // Public signature: /D.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: D#isB(){}kotlin.Boolean + // Public signature: /D.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: D#setA(kotlin.Int){} + // Public signature: /D.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: D#setB(kotlin.Boolean){} + // Public signature: /D.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.ir.txt new file mode 100644 index 00000000000..8f57c7a839a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.ir.txt @@ -0,0 +1,257 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:isB visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:setA visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setB visibility:public modality:OPEN <> ($this:.B, t:kotlin.Boolean) returnType:kotlin.Unit + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val] + overridden: + public final b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Java3) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2 + PROPERTY name:b visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final] + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass2) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinClass2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in .KotlinClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .KotlinClass2 declared in .KotlinClass2.' type=.KotlinClass2 origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Boolean type=kotlin.Boolean value=true + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=false + VAR name:k5 type:kotlin.Boolean [val] + CALL 'public final fun (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Boolean type=kotlin.Boolean value=true + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.kt.txt new file mode 100644 index 00000000000..8a0c7724825 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.fir.kt.txt @@ -0,0 +1,78 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getA(): Int { + return 2 + } + + override fun isB(): Boolean { + return false + } + + override fun setA(t: Int) { + } + + override fun setB(t: Boolean) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +open class KotlinClass2 : Java2 { + val b: Boolean + field = true + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C) { + val k1: Int = a.getA() + val k2: Boolean = a.isB() + a.setA(t = 2) + a.setB(t = true) + val k3: Int = b.getA() + val k4: Boolean = b.isB() + b.setA(t = 2) + b.setB(t = false) + val k5: Boolean = c.() + val k6: Boolean = c.isB() + c.setB(t = true) + val k7: Int = c.getA() + c.setA(t = 2) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.ir.txt new file mode 100644 index 00000000000..79b037c7918 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.ir.txt @@ -0,0 +1,257 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getA visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getA (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:isB visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Boolean + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun isB (): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=false + FUN name:setA visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + FUN name:setB visibility:public modality:OPEN <> ($this:.B, t:kotlin.Boolean) returnType:kotlin.Unit + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Boolean + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val] + overridden: + public final b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.KotlinClass2) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:.KotlinClass2 + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2 + PROPERTY name:b visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final] + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.KotlinClass2) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinClass2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in .KotlinClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .KotlinClass2 declared in .KotlinClass2.' type=.KotlinClass2 origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java2, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Boolean type=kotlin.Boolean value=true + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=false + VAR name:k5 type:kotlin.Boolean [val] + CALL 'public final fun (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Boolean [val] + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Boolean type=kotlin.Boolean value=true + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun getA (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt new file mode 100644 index 00000000000..97de053b0e2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt @@ -0,0 +1,65 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 extends KotlinClass {} + +// FILE: Java2.java +public class Java2 { + private int a = 0; + public int getA(){ + return 1; + } + public void setA(int t){ + a = 100; + }; + + private boolean b = true; + public boolean isB(){ + return b; + }; + public void setB(boolean t){ + b = t; + }; +} + +// FILE: Java3.java +public class Java3 extends KotlinClass2 { } + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun getA(): Int { + return 2 + } + override fun setA(t: Int) { } + override fun isB(): Boolean { + return false + } + override fun setB(t: Boolean) {} +} +class C : Java3() + +open class KotlinClass : Java2() + +open class KotlinClass2 : Java2() { + val b = true +} + +fun test(a: A, b: B, c: C) { + val k1: Int = a.a + val k2: Boolean = a.isB + a.a = 2 + a.isB = true + + val k3: Int = b.a + val k4: Boolean = b.isB + b.a = 2 + b.isB = false + + val k5: Boolean = c.b + val k6: Boolean = c.isB + c.isB = true + val k7: Int = c.a + c.a = 2 +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt.txt new file mode 100644 index 00000000000..8a0c7724825 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt.txt @@ -0,0 +1,78 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getA(): Int { + return 2 + } + + override fun isB(): Boolean { + return false + } + + override fun setA(t: Int) { + } + + override fun setB(t: Boolean) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +open class KotlinClass2 : Java2 { + val b: Boolean + field = true + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C) { + val k1: Int = a.getA() + val k2: Boolean = a.isB() + a.setA(t = 2) + a.setB(t = true) + val k3: Int = b.getA() + val k4: Boolean = b.isB() + b.setA(t = 2) + b.setB(t = false) + val k5: Boolean = c.() + val k6: Boolean = c.isB() + c.setB(t = true) + val k7: Int = c.getA() + c.setA(t = 2) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.sig.kt.txt new file mode 100644 index 00000000000..6a3aecc3162 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.sig.kt.txt @@ -0,0 +1,207 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int + // Public signature: /A.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Boolean + // Public signature: /A.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: A#setA(kotlin.Int){} + // Public signature: /A.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: A#setB(kotlin.Boolean){} + // Public signature: /A.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Int + // Public signature: /B.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean + // Public signature: /B.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + override fun isB(): Boolean + + // CHECK: + // Mangled name: B#setA(kotlin.Int){} + // Public signature: /B.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: B#setB(kotlin.Boolean){} + // Public signature: /B.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getA(){}kotlin.Int + // Public signature: /C.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: C#isB(){}kotlin.Boolean + // Public signature: /C.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: C#setA(kotlin.Int){} + // Public signature: /C.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: C#setB(kotlin.Boolean){} + // Public signature: /C.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override val b: Boolean + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Boolean + // Public signature: /C.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + /* fake */ override get(): Boolean + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java2 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass#getA(){}kotlin.Int + // Public signature: /KotlinClass.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass#isB(){}kotlin.Boolean + // Public signature: /KotlinClass.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: KotlinClass#setA(kotlin.Int){} + // Public signature: /KotlinClass.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: KotlinClass#setB(kotlin.Boolean){} + // Public signature: /KotlinClass.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: KotlinClass2 +// Public signature: /KotlinClass2|null[0] +open class KotlinClass2 : Java2 { + // CHECK: + // Mangled name: KotlinClass2{}b + // Public signature: /KotlinClass2.b|772347207915745207[0] + // Public signature debug description: {}b + val b: Boolean + // CHECK JVM_IR: + // Mangled name: KotlinClass2#(){}kotlin.Boolean + // Public signature: /KotlinClass2.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + get + + // CHECK: + // Mangled name: KotlinClass2#(){} + // Public signature: /KotlinClass2.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: KotlinClass2#getA(){}kotlin.Int + // Public signature: /KotlinClass2.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: KotlinClass2#isB(){}kotlin.Boolean + // Public signature: /KotlinClass2.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: KotlinClass2#setA(kotlin.Int){} + // Public signature: /KotlinClass2.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: KotlinClass2#setB(kotlin.Boolean){} + // Public signature: /KotlinClass2.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.ir.txt new file mode 100644 index 00000000000..a866ce5d76f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.ir.txt @@ -0,0 +1,333 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + public abstract fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:ABSTRACT <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + public abstract fun getA (): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + public abstract fun isB (): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:setA visibility:public modality:OPEN <> ($this:.B, t:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Any + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Any) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.Boolean + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Any visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Any declared in .D.' type=kotlin.Any origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Any declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Any declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Any visibility:private' type=kotlin.Any origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D, :kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name: index:0 type:kotlin.Any + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Any visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: GET_VAR ': kotlin.Any declared in .D.' type=kotlin.Any origin=null + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.Boolean + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.Boolean declared in .D.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Boolean declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Any, b:kotlin.Boolean) returnType:.D [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Any + VALUE_PARAMETER name:b index:1 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + overridden: + public open fun getA (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isB (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:kotlin.Boolean) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Any + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=3 + CALL 'public abstract fun setA (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=3 + CALL 'public open fun setA (t: kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Any declared in .C' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun (: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Boolean type=kotlin.Boolean value=false + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Any declared in .D' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun (: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=1 + CALL 'public open fun setB (t: kotlin.Boolean): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Boolean type=kotlin.Boolean value=false diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt new file mode 100644 index 00000000000..7472e28e2fc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt @@ -0,0 +1,71 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + private int a = 0; + + public int getA(){ + return 1; + } + public void setA(int t){ + a = 100; + }; + + private boolean b = true; + public boolean isB(){ + return b; + }; + public void setB(boolean t){ + b = t; + }; +} + +// FILE: Java2.java +public interface Java2 { + Object a = "1"; + Object getA(); + void setA(Object t); + + boolean b = true; + boolean isB(); +} + +// FILE: 1.kt + +abstract class A : Java1(), Java2 + +class B : Java1(), Java2 { + override fun setA(t: Any?) { } +} + +abstract class C : Java1(), KotlinInterface + +class D(override var a: Any, override val b: Boolean) : Java1(), KotlinInterface + +interface KotlinInterface { + var a : Any + val b : Boolean +} +fun test(a: A, b: B, c: C, d: D){ + a.a + a.setA(3) + a.setA("") + a.isB + a.isB = false + b.a + b.setA(3) + b.setA("") + b.isB + b.isB = false + c.a + c.b + c.isB + c.a = 1 + c.isB = false + d.a + d.b + d.isB + d.a = 1 + d.isB = false +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt.txt new file mode 100644 index 00000000000..6b747bda782 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt.txt @@ -0,0 +1,80 @@ +abstract class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun setA(t: Any?) { + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + override var a: Any + field = a + override get + override set + + override val b: Boolean + field = b + override get + + constructor(a: Any, b: Boolean) /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract var a: Any + abstract get + abstract set + + abstract val b: Boolean + abstract get + +} + +fun test(a: A, b: B, c: C, d: D) { + a.getA() /*~> Unit */ + a.setA(t = 3) + a.setA(t = "") + a.isB() /*~> Unit */ + a.setB(t = false) + b.getA() /*~> Unit */ + b.setA(t = 3) + b.setA(t = "") + b.isB() /*~> Unit */ + b.setB(t = false) + c.() /*~> Unit */ + c.() /*~> Unit */ + c.isB() /*~> Unit */ + c.( = 1) + c.setB(t = false) + d.() /*~> Unit */ + d.() /*~> Unit */ + d.isB() /*~> Unit */ + d.( = 1) + d.setB(t = false) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.sig.kt.txt new file mode 100644 index 00000000000..6e167386b93 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.sig.kt.txt @@ -0,0 +1,248 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int + // Public signature: /A.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Boolean + // Public signature: /A.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: A#setA(kotlin.Any?){} + // Public signature: /A.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + abstract /* fake */ override fun setA(t: Any?): Unit + + // CHECK: + // Mangled name: A#setA(kotlin.Int){} + // Public signature: /A.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: A#setB(kotlin.Boolean){} + // Public signature: /A.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Int + // Public signature: /B.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean + // Public signature: /B.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: B#setA(kotlin.Int){} + // Public signature: /B.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: B#setB(kotlin.Boolean){} + // Public signature: /B.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + + // CHECK: + // Mangled name: B#setA(kotlin.Any?){} + // Public signature: /B.setA|7506159281020937153[0] + // Public signature debug description: setA(kotlin.Any?){} + override fun setA(t: Any?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#getA(){}kotlin.Int + // Public signature: /C.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: C#isB(){}kotlin.Boolean + // Public signature: /C.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: C#setA(kotlin.Int){} + // Public signature: /C.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: C#setB(kotlin.Boolean){} + // Public signature: /C.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Any + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Any + // Public signature: /C.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + abstract /* fake */ override get(): Any + // CHECK: + // Mangled name: C#(kotlin.Any){} + // Public signature: /C.a.|-6749232401949477374[0] + // Public signature debug description: (kotlin.Any){} + abstract /* fake */ override set(: Any): Unit + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override val b: Boolean + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Boolean + // Public signature: /C.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract /* fake */ override get(): Boolean + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Any + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Any + // Public signature: /D.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + override get + // CHECK: + // Mangled name: D#(kotlin.Any){} + // Public signature: /D.a.|-6749232401949477374[0] + // Public signature debug description: (kotlin.Any){} + override set + + // CHECK: + // Mangled name: D{}b + // Public signature: /D.b|772347207915745207[0] + // Public signature debug description: {}b + override val b: Boolean + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Boolean + // Public signature: /D.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + override get + + // CHECK: + // Mangled name: D#(kotlin.Any;kotlin.Boolean){} + // Public signature: /D.|-7656408981943394774[0] + // Public signature debug description: (kotlin.Any;kotlin.Boolean){} + constructor(a: Any, b: Boolean) /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#getA(){}kotlin.Int + // Public signature: /D.getA|5691569834379572517[0] + // Public signature debug description: getA(){}kotlin.Int + /* fake */ override fun getA(): Int + + // CHECK JVM_IR: + // Mangled name: D#isB(){}kotlin.Boolean + // Public signature: /D.isB|-4094540604250872999[0] + // Public signature debug description: isB(){}kotlin.Boolean + /* fake */ override fun isB(): Boolean + + // CHECK: + // Mangled name: D#setA(kotlin.Int){} + // Public signature: /D.setA|-2839184409429581850[0] + // Public signature debug description: setA(kotlin.Int){} + /* fake */ override fun setA(t: Int): Unit + + // CHECK: + // Mangled name: D#setB(kotlin.Boolean){} + // Public signature: /D.setB|2046027712198185521[0] + // Public signature debug description: setB(kotlin.Boolean){} + /* fake */ override fun setB(t: Boolean): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Any + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Any + // Public signature: /KotlinInterface.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Any){} + // Public signature: /KotlinInterface.a.|-6749232401949477374[0] + // Public signature debug description: (kotlin.Any){} + abstract set + + // CHECK: + // Mangled name: KotlinInterface{}b + // Public signature: /KotlinInterface.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: Boolean + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Boolean + // Public signature: /KotlinInterface.b.|-7029388108626198383[0] + // Public signature debug description: (){}kotlin.Boolean + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.ir.txt new file mode 100644 index 00000000000..bd0acb5bbfa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.ir.txt @@ -0,0 +1,135 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getA (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun isB (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Boolean + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun getA (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun isB (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setB (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setD (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setB (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setD (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.kt.txt new file mode 100644 index 00000000000..a33fc0f95cc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.fir.kt.txt @@ -0,0 +1,32 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.getA() /*~> Unit */ + a.setA(t = null) + a.isB() /*~> Unit */ + a.setB(t = null) + a.getC() /*~> Unit */ + a.setD(t = null) + b.getA() /*~> Unit */ + b.setA(t = true) + b.isB() /*~> Unit */ + b.setB(t = true) + b.getC() /*~> Unit */ + b.setD(t = true) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.ir.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.ir.txt new file mode 100644 index 00000000000..30909ef2638 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.ir.txt @@ -0,0 +1,135 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getA (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun isB (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Boolean? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:getA visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun getA (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:getC visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun getC (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isB visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Boolean? [fake_override] + overridden: + public open fun isB (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:setA visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setA (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:setB visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setB (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Boolean? + FUN FAKE_OVERRIDE name:setD visibility:public modality:OPEN <> ($this:.Java1, t:@[FlexibleNullability] kotlin.Boolean?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun setD (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setA (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setB (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun setD (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getA (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setA (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun isB (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setB (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getC (): @[FlexibleNullability] kotlin.Boolean? declared in .B' type=@[FlexibleNullability] kotlin.Boolean? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun setD (t: @[FlexibleNullability] kotlin.Boolean?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt new file mode 100644 index 00000000000..9cc895ea059 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt @@ -0,0 +1,50 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + private T a; + public T getA() { + return a; + } + public void setA(T t) { + a = t; + } + + private T b; + public T isB() { + return b; + } + public void setB(T t) { + b = t; + } + + private T c; + public T getC() { + return c; + } + + private T d; + public void setD(T t) { + d = t; + } +} + +// FILE: test.kt +class A : Java1() + +class B : Java1() + +fun test(a: A, b: B){ + a.a + a.a = null + a.isB + a.isB = null + a.c + a.setD(null) + b.a + b.a = true + b.isB + b.isB = true + b.c + b.setD(true) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt.txt new file mode 100644 index 00000000000..4051c144a9c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt.txt @@ -0,0 +1,32 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Boolean?>() + /* () */ + + } + +} + +fun test(a: A, b: B) { + a.getA() /*~> Unit */ + a.setA(t = null) + a.isB() /*~> Unit */ + a.setB(t = null) + a.getC() /*~> Unit */ + a.setD(t = null) + b.getA() /*~> Unit */ + b.setA(t = true) + b.isB() /*~> Unit */ + b.setB(t = true) + b.getC() /*~> Unit */ + b.setD(t = true) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.sig.kt.txt new file mode 100644 index 00000000000..3c906caa23f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.sig.kt.txt @@ -0,0 +1,101 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#getA(){}kotlin.Int? + // Public signature: /A.getA|-2991999835697688393[0] + // Public signature debug description: getA(){}kotlin.Int? + /* fake */ override fun getA(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getC(){}kotlin.Int? + // Public signature: /A.getC|8339573902616759640[0] + // Public signature debug description: getC(){}kotlin.Int? + /* fake */ override fun getC(): Int? + + // CHECK JVM_IR: + // Mangled name: A#isB(){}kotlin.Int? + // Public signature: /A.isB|-4960904876510630794[0] + // Public signature debug description: isB(){}kotlin.Int? + /* fake */ override fun isB(): Int? + + // CHECK: + // Mangled name: A#setA(kotlin.Int?){} + // Public signature: /A.setA|-6561801173903795151[0] + // Public signature debug description: setA(kotlin.Int?){} + /* fake */ override fun setA(t: Int?): Unit + + // CHECK: + // Mangled name: A#setB(kotlin.Int?){} + // Public signature: /A.setB|-7434782247201183710[0] + // Public signature debug description: setB(kotlin.Int?){} + /* fake */ override fun setB(t: Int?): Unit + + // CHECK: + // Mangled name: A#setD(kotlin.Int?){} + // Public signature: /A.setD|-1444420329574284908[0] + // Public signature debug description: setD(kotlin.Int?){} + /* fake */ override fun setD(t: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#getA(){}kotlin.Boolean? + // Public signature: /B.getA|3042874557493959442[0] + // Public signature debug description: getA(){}kotlin.Boolean? + /* fake */ override fun getA(): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#getC(){}kotlin.Boolean? + // Public signature: /B.getC|3608726689606025132[0] + // Public signature debug description: getC(){}kotlin.Boolean? + /* fake */ override fun getC(): Boolean? + + // CHECK JVM_IR: + // Mangled name: B#isB(){}kotlin.Boolean? + // Public signature: /B.isB|-2795468224882103615[0] + // Public signature debug description: isB(){}kotlin.Boolean? + /* fake */ override fun isB(): Boolean? + + // CHECK: + // Mangled name: B#setA(kotlin.Boolean?){} + // Public signature: /B.setA|8864412912978974963[0] + // Public signature debug description: setA(kotlin.Boolean?){} + /* fake */ override fun setA(t: Boolean?): Unit + + // CHECK: + // Mangled name: B#setB(kotlin.Boolean?){} + // Public signature: /B.setB|-7434327397602973691[0] + // Public signature debug description: setB(kotlin.Boolean?){} + /* fake */ override fun setB(t: Boolean?): Unit + + // CHECK: + // Mangled name: B#setD(kotlin.Boolean?){} + // Public signature: /B.setD|7882482744342981754[0] + // Public signature debug description: setD(kotlin.Boolean?){} + /* fake */ override fun setD(t: Boolean?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..57a5c46ceb8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.ir.txt @@ -0,0 +1,669 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.LinkedList + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.LinkedList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=3 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun reversed (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun reversed (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..f31b00dda8c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.kt.txt @@ -0,0 +1,36 @@ +class A : LinkedList, SequencedCollection { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class B : LinkedList, SequencedCollection { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun addFirst(e: Int?) { + } + + override fun reversed(): LinkedList { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ + a.addFirst(p0 = 3) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ + b.addFirst(e = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..0515ac82b52 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,747 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, SequencedCollection { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#reversed(){}java.util.LinkedList? + // Public signature: /A.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, SequencedCollection { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.LinkedList + // Public signature: /B.reversed|2298427509454408342[0] + // Public signature debug description: reversed(){}java.util.LinkedList + override fun reversed(): LinkedList + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.ir.txt new file mode 100644 index 00000000000..106d5b1b86e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.ir.txt @@ -0,0 +1,679 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.LinkedList + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.LinkedList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=3 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun reversed (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun reversed (): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt new file mode 100644 index 00000000000..76005dce2dd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt @@ -0,0 +1,30 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914, KT-65219 + +// FILE: 1.kt +import java.util.* + +class A : LinkedList(), SequencedCollection + +class B : LinkedList(), SequencedCollection { + override fun addFirst(e: Int?) { } + override fun reversed(): LinkedList { + return null!! + } +} + +fun test(a: A, b: B){ + a.size + a.remove(element = 1) + a.addFirst(3) + a.addLast(null) + a.removeFirst() + a.removeLast() + a.reversed() + + b.reversed() + b.addFirst(1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt.txt new file mode 100644 index 00000000000..8cdc4973e5e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt.txt @@ -0,0 +1,36 @@ +class A : LinkedList, SequencedCollection { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : LinkedList, SequencedCollection { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun addFirst(e: Int?) { + } + + override fun reversed(): LinkedList { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.addFirst(p0 = 3) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ + b.addFirst(e = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..82705501664 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.sig.kt.txt @@ -0,0 +1,747 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, SequencedCollection { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.LinkedList? + // Public signature: /A.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, SequencedCollection { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int? + // Public signature: /B.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.LinkedList + // Public signature: /B.reversed|2298427509454408342[0] + // Public signature debug description: reversed(){}java.util.LinkedList + override fun reversed(): LinkedList + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..ca4180b633b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.ir.txt @@ -0,0 +1,1439 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.List?>? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.List?>? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:remove visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.MutableList?>? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.MutableList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + 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.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll 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 removeAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.MutableList?>? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, 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.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.MutableList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addLast visibility:public modality:OPEN <> ($this:.D, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun get (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (p0: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (e: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..6c6b4432b05 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.kt.txt @@ -0,0 +1,117 @@ +class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class B : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun addFirst(e: Int?) { + } + + override fun remove(): Int { + return 1 + } + + override fun remove(element: Int): Boolean { + return true + } + + override operator fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 2 + } + +} + +class C : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + +} + +class D : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/() + /* () */ + + } + + override fun addLast(e: Int?) { + } + + override operator fun get(index: Int): Int? { + return 2 + } + + override fun remove(): Int? { + return 2 + } + + override fun remove(element: Int?): Boolean { + return true + } + + override operator fun removeAt(index: Int): Int? { + return 2 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(p0 = 1) /*~> Unit */ + a.get(p0 = 0) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(p0 = 1) /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + b.() /*~> Unit */ + b.add(p0 = 1) /*~> Unit */ + b.get(p0 = 0) /*~> Unit */ + b.remove() /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.addFirst(e = 1) + b.addLast(p0 = null) + b.removeFirst() /*~> Unit */ + b.removeLast() /*~> Unit */ + c.() /*~> Unit */ + c.add(p0 = 1) /*~> Unit */ + c.get(p0 = 0) /*~> Unit */ + c.remove() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ + c.remove(p0 = 1) /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + d.() /*~> Unit */ + d.add(p0 = 1) /*~> Unit */ + d.get(index = 0) /*~> Unit */ + d.remove() /*~> Unit */ + d.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(e = null) + d.removeFirst() /*~> Unit */ + d.removeLast() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..6a15775018a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.fir.sig.kt.txt @@ -0,0 +1,1489 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.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: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.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: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#reversed(){}java.util.LinkedList? + // Public signature: /A.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.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: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.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: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, List { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.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: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.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: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#reversed(){}java.util.LinkedList? + // Public signature: /B.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.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: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.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: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int + // Public signature: /B.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override operator fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList, MutableList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /C.add|8743200403488922753[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: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|2130778526938791222[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: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|-8669946162725911871[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: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|-2468276587626376870[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: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.get|7975012209569221001[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: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|6493015954228032214[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: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|4920074937927144900[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: C#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|9019132369114162808[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: C#reversed(){}java.util.LinkedList? + // Public signature: /C.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.set|6213268196513171993[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: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-4774771961505020315[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: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList, MutableList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /D.add|8743200403488922753[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: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|2130778526938791222[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: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|-8669946162725911871[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: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|-2468276587626376870[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: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(p0: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|6493015954228032214[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: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|4920074937927144900[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: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|9019132369114162808[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: D#reversed(){}java.util.LinkedList? + // Public signature: /D.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.set|6213268196513171993[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: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|-4774771961505020315[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: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + override fun addLast(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int? + // Public signature: /D.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + override operator fun get(index: Int): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int? + // Public signature: /D.removeAt|4962369383997844352[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int? + override operator fun removeAt(index: Int): Int? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.ir.txt new file mode 100644 index 00000000000..347fc659ddb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.ir.txt @@ -0,0 +1,1459 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.List?>? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.List]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.List): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.List? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?>) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.List?>? declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.List?> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.List> declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?>, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractList<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.List + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:remove visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:remove visibility:public modality:OPEN <> ($this:.B, element:kotlin.Int) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:element index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.B, index:kotlin.Int) returnType:kotlin.Int + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.List + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAt visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.MutableList?>? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.C.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.C.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.MutableList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[java.util.LinkedList; kotlin.collections.MutableList]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun add (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Unit declared in java.util.LinkedList + public abstract fun add (index: kotlin.Int, element: E of kotlin.collections.MutableList): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (index: kotlin.Int, elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:elements index:1 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addFirst (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedList + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:descendingIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator? [fake_override] + overridden: + public open fun descendingIterator (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:element visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun element (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractList, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedList + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun getLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedList + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:indexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun indexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedList + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.AbstractSequentialList) 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.LinkedList> declared in java.util.LinkedList + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractSequentialList + FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:java.util.LinkedList, element:@[EnhancedNullability] kotlin.Int?) returnType:kotlin.Int [fake_override] + overridden: + public open fun lastIndexOf (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Int declared in java.util.LinkedList + public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.AbstractList) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun listIterator (index: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableListIterator<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun listIterator (index: kotlin.Int): kotlin.collections.MutableListIterator declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:offer visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offer (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerFirst (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:offerLast visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun offerLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:peek visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peek (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:peekLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun peekLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:poll visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun poll (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pollLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pollLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:pop visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun pop (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:push visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun push (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeFirst (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeFirstOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeFirstOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedList + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + public open fun removeLast (): @[FlexibleNullability] E of kotlin.collections.MutableList? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:removeLastOccurrence visibility:public modality:OPEN <> ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeLastOccurrence (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractList, 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.LinkedList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Unit declared in java.util.LinkedList + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] E of kotlin.collections.MutableList>): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.UnaryOperator<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedList>): kotlin.Boolean declared in java.util.LinkedList + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] java.util.LinkedList? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.LinkedList<@[FlexibleNullability] E of java.util.LinkedList?>? declared in java.util.LinkedList + public open fun reversed (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] E of kotlin.collections.MutableList?>? declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:set visibility:public modality:OPEN <> ($this:java.util.LinkedList, index:kotlin.Int, element:@[EnhancedNullability] kotlin.Int?) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun set (index: kotlin.Int, element: @[EnhancedNullability] E of java.util.LinkedList): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:element index:1 type:@[EnhancedNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:kotlin.collections.MutableList, p0:@[FlexibleNullability] java.util.Comparator?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in java.util.LinkedList + public open fun sort (p0: @[FlexibleNullability] java.util.Comparator?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.Comparator? + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedList?> declared in java.util.LinkedList + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableList?> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.AbstractList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:@[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): @[EnhancedNullability] kotlin.collections.MutableList<@[EnhancedNullability] E of java.util.LinkedList> declared in java.util.LinkedList + public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractList + VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int + VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.LinkedList, p0:@[FlexibleNullability] kotlin.Array.D.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.LinkedList + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.D.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedList + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.MutableList + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>? + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractCollection) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.LinkedList + public open fun toString (): kotlin.String declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection + FUN name:addLast visibility:public modality:OPEN <> ($this:.D, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedList?): kotlin.Unit declared in java.util.LinkedList + public open fun addLast (p0: @[FlexibleNullability] E of kotlin.collections.MutableList?): kotlin.Unit declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:get visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? [operator] + overridden: + public open fun get (index: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + overridden: + public open fun remove (): @[FlexibleNullability] E of java.util.LinkedList? declared in java.util.LinkedList + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedList): kotlin.Boolean declared in java.util.LinkedList + public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeAt visibility:public modality:OPEN <> ($this:.D, index:kotlin.Int) returnType:kotlin.Int? + overridden: + public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] E of java.util.LinkedList declared in java.util.LinkedList + public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' + CONST Int type=kotlin.Int value=2 + PROPERTY FAKE_OVERRIDE name:modCount visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final modCount: kotlin.Int + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedList) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedList + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableList + $this: VALUE_PARAMETER name: type:java.util.LinkedList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .A' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int declared in .B' type=@[EnhancedNullability] kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int): kotlin.Boolean declared in .B' type=kotlin.Boolean origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (p0: kotlin.Int): @[EnhancedNullability] kotlin.Int? declared in .C' type=@[EnhancedNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun add (element: @[EnhancedNullability] kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun get (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeAt (index: kotlin.Int): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + index: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' type=kotlin.Boolean origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (e: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): kotlin.Int? declared in .D' type=kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt new file mode 100644 index 00000000000..509dd612cce --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt @@ -0,0 +1,91 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914, KT-65219 + +// FILE: 1.kt +import java.util.* + +class A : LinkedList(), List + +class B : LinkedList(), List { + override fun remove(): Int { + return 1 + } + override fun removeAt(index: Int): Int { + return 1 + } + override fun remove(element: Int): Boolean { + return true + } + override val size: Int + get() = 2 + + override fun addFirst(e: Int?) {} +} + +class C : LinkedList(), MutableList + +class D : LinkedList(), MutableList{ + override fun get(index: Int): Int? { + return 2 + } + override fun remove(): Int? { + return 2 + } + override fun removeAt(index: Int): Int? { + return 2 + } + override fun remove(element: Int?): Boolean { + return true + } + + override fun addLast(e: Int?) { } +} + +fun test(a: A, b: B, c: C, d: D){ + a.size + a.add(1) + a.get(0) + a.remove() + a.removeAt(1) + a.remove(1) + a.addFirst(1) + a.addLast(null) + a.removeFirst() + a.removeLast() + + b.size + b.add(1) + b.get(0) + b.remove() + b.removeAt(1) + b.remove(1) + b.addFirst(1) + b.addLast(null) + b.removeFirst() + b.removeLast() + + c.size + c.add(1) + c.get(0) + c.remove() + c.removeAt(1) + c.remove(1) + c.addFirst(1) + c.addLast(null) + c.removeFirst() + c.removeLast() + + d.size + d.add(1) + d.get(0) + d.remove() + d.removeAt(1) + d.remove(1) + d.addFirst(1) + d.addLast(null) + d.removeFirst() + d.removeLast() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt.txt new file mode 100644 index 00000000000..afc6648e789 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt.txt @@ -0,0 +1,117 @@ +class A : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : LinkedList, List { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun addFirst(e: Int?) { + } + + override fun remove(): Int { + return 1 + } + + override fun remove(element: Int): Boolean { + return true + } + + override fun removeAt(index: Int): Int { + return 1 + } + + override val size: Int + override get(): Int { + return 2 + } + +} + +class C : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class D : LinkedList, MutableList { + constructor() /* primary */ { + super/*LinkedList*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun addLast(e: Int?) { + } + + override operator fun get(index: Int): Int? { + return 2 + } + + override fun remove(): Int? { + return 2 + } + + override fun remove(element: Int?): Boolean { + return true + } + + override fun removeAt(index: Int): Int? { + return 2 + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.get(index = 0) /*~> Unit */ + a.remove() /*~> Unit */ + a.removeAt(p0 = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + b.() /*~> Unit */ + b.add(element = 1) /*~> Unit */ + b.get(index = 0) /*~> Unit */ + b.remove() /*~> Unit */ + b.removeAt(index = 1) /*~> Unit */ + b.remove(element = 1) /*~> Unit */ + b.addFirst(e = 1) + b.addLast(p0 = null) + b.removeFirst() /*~> Unit */ + b.removeLast() /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.get(index = 0) /*~> Unit */ + c.remove() /*~> Unit */ + c.removeAt(p0 = 1) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + d.() /*~> Unit */ + d.add(element = 1) /*~> Unit */ + d.get(index = 0) /*~> Unit */ + d.remove() /*~> Unit */ + d.removeAt(index = 1) /*~> Unit */ + d.remove(element = 1) /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(e = null) + d.removeFirst() /*~> Unit */ + d.removeLast() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..c57dc4a7b5c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.sig.kt.txt @@ -0,0 +1,1489 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : LinkedList, List { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /A.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /A.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: A#element(){}kotlin.Int? + // Public signature: /A.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /A.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: A#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.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: A#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /A.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#peek(){}kotlin.Int? + // Public signature: /A.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekFirst(){}kotlin.Int? + // Public signature: /A.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#peekLast(){}kotlin.Int? + // Public signature: /A.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#poll(){}kotlin.Int? + // Public signature: /A.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirst(){}kotlin.Int? + // Public signature: /A.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pollLast(){}kotlin.Int? + // Public signature: /A.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#pop(){}kotlin.Int? + // Public signature: /A.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: A#push(kotlin.Int?){} + // Public signature: /A.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: A#remove(){}kotlin.Int? + // Public signature: /A.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /A.removeAt|6480490686215931144[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: A#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /A.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /A.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.LinkedList? + // Public signature: /A.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: A#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: A#sort(java.util.Comparator?){} + // Public signature: /A.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /A.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : LinkedList, List { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + // Public signature: /B.add|-3194712170900556378[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|357368019962742687[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /B.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: B#element(){}kotlin.Int? + // Public signature: /B.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int){}kotlin.Int{EnhancedNullability} + // Public signature: /B.get|-8822924217357855534[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.indexOf|866974352596659798[0] + // Public signature debug description: indexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + // Public signature: /B.lastIndexOf|1115527748420890033[0] + // Public signature debug description: lastIndexOf(kotlin.Int{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int): Int + + // CHECK JVM_IR: + // Mangled name: B#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.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: B#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /B.listIterator|-2268028930611070307[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#peek(){}kotlin.Int? + // Public signature: /B.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekFirst(){}kotlin.Int? + // Public signature: /B.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#peekLast(){}kotlin.Int? + // Public signature: /B.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#poll(){}kotlin.Int? + // Public signature: /B.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirst(){}kotlin.Int? + // Public signature: /B.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pollLast(){}kotlin.Int? + // Public signature: /B.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#pop(){}kotlin.Int? + // Public signature: /B.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: B#push(kotlin.Int?){} + // Public signature: /B.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: B#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /B.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /B.replaceAll|6373979877176729001[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int>): Unit + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.LinkedList? + // Public signature: /B.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: B#set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.set|-7932912415931410975[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK: + // Mangled name: B#sort(java.util.Comparator?){} + // Public signature: /B.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /B.subList|127837164145565172[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#remove(){}kotlin.Int + // Public signature: /B.remove|4259990872420851653[0] + // Public signature debug description: remove(){}kotlin.Int + override fun remove(): Int + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int){}kotlin.Boolean + // Public signature: /B.remove|-2631909738569200722[0] + // Public signature debug description: remove(kotlin.Int){}kotlin.Boolean + override fun remove(element: Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAt(kotlin.Int){}kotlin.Int + // Public signature: /B.removeAt|1718425690973201805[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int + override fun removeAt(index: Int): Int + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : LinkedList, MutableList { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: C#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /C.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /C.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /C.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: C#element(){}kotlin.Int? + // Public signature: /C.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: C#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.get|7975012209569221001[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(index: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#hashCode(){}kotlin.Int + // Public signature: /C.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: C#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /C.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /C.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: C#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /C.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#peek(){}kotlin.Int? + // Public signature: /C.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekFirst(){}kotlin.Int? + // Public signature: /C.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#peekLast(){}kotlin.Int? + // Public signature: /C.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#poll(){}kotlin.Int? + // Public signature: /C.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollFirst(){}kotlin.Int? + // Public signature: /C.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pollLast(){}kotlin.Int? + // Public signature: /C.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#pop(){}kotlin.Int? + // Public signature: /C.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: C#push(kotlin.Int?){} + // Public signature: /C.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#remove(){}kotlin.Int? + // Public signature: /C.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + /* fake */ override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.remove|-1124624034571978045[0] + // Public signature debug description: remove(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.removeAt|-3455962882000909435[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun removeAt(p0: Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: C#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /C.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /C.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.LinkedList? + // Public signature: /C.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: C#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /C.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: C#sort(java.util.Comparator?){} + // Public signature: /C.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /C.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#toArray(){}kotlin.Array? + // Public signature: /C.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /C.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: C#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /C.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : LinkedList, MutableList { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.add|-4045406483148196312[0] + // Public signature debug description: add(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int?): Boolean + + // CHECK: + // Mangled name: D#add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + // Public signature: /D.add|8743200403488922753[0] + // Public signature debug description: add(kotlin.Int;kotlin.Int?{EnhancedNullability}){} + /* fake */ override fun add(index: Int, element: @EnhancedNullability Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|1453794159367942631[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.addAll|3863057029332345269[0] + // Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Int?>): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /D.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.contains|-2468276587626376870[0] + // Public signature debug description: contains(kotlin.Int?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|794764971603705561[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#descendingIterator(){}kotlin.collections.MutableIterator? + // Public signature: /D.descendingIterator|1071257290826097767[0] + // Public signature debug description: descendingIterator(){}kotlin.collections.MutableIterator? + /* fake */ override fun descendingIterator(): MutableIterator? + + // CHECK JVM_IR: + // Mangled name: D#element(){}kotlin.Int? + // Public signature: /D.element|-4356321082888444556[0] + // Public signature debug description: element(){}kotlin.Int? + /* fake */ override fun element(): Int? + + // CHECK JVM_IR: + // Mangled name: D#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#hashCode(){}kotlin.Int + // Public signature: /D.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: D#indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.indexOf|-4886905426907645757[0] + // Public signature debug description: indexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun indexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /D.iterator|-9071170978442329531[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + /* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + // Public signature: /D.lastIndexOf|3126670447213921472[0] + // Public signature debug description: lastIndexOf(kotlin.Int?{EnhancedNullability}){}kotlin.Int + /* fake */ override fun lastIndexOf(element: @EnhancedNullability Int?): Int + + // CHECK JVM_IR: + // Mangled name: D#listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|-3517552962424057701[0] + // Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + // Public signature: /D.listIterator|6493015954228032214[0] + // Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator{EnhancedNullability} + /* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#offer(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offer|5383712942582867597[0] + // Public signature debug description: offer(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offer(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerFirst(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerFirst|-2230086223299906854[0] + // Public signature debug description: offerFirst(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerFirst(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#offerLast(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.offerLast|8216393660704417722[0] + // Public signature debug description: offerLast(kotlin.Int?){}kotlin.Boolean + /* fake */ override fun offerLast(p0: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#peek(){}kotlin.Int? + // Public signature: /D.peek|1449412375335436775[0] + // Public signature debug description: peek(){}kotlin.Int? + /* fake */ override fun peek(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekFirst(){}kotlin.Int? + // Public signature: /D.peekFirst|3484373790324163809[0] + // Public signature debug description: peekFirst(){}kotlin.Int? + /* fake */ override fun peekFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#peekLast(){}kotlin.Int? + // Public signature: /D.peekLast|-4316576568426072473[0] + // Public signature debug description: peekLast(){}kotlin.Int? + /* fake */ override fun peekLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#poll(){}kotlin.Int? + // Public signature: /D.poll|8800911321434884711[0] + // Public signature debug description: poll(){}kotlin.Int? + /* fake */ override fun poll(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollFirst(){}kotlin.Int? + // Public signature: /D.pollFirst|960266731318436282[0] + // Public signature debug description: pollFirst(){}kotlin.Int? + /* fake */ override fun pollFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pollLast(){}kotlin.Int? + // Public signature: /D.pollLast|-8728956190889553236[0] + // Public signature debug description: pollLast(){}kotlin.Int? + /* fake */ override fun pollLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#pop(){}kotlin.Int? + // Public signature: /D.pop|-1522484764836752145[0] + // Public signature debug description: pop(){}kotlin.Int? + /* fake */ override fun pop(): Int? + + // CHECK: + // Mangled name: D#push(kotlin.Int?){} + // Public signature: /D.push|3371514512529143423[0] + // Public signature debug description: push(kotlin.Int?){} + /* fake */ override fun push(p0: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|4920074937927144900[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeFirstOccurrence|-4824227101127372040[0] + // Public signature debug description: removeFirstOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeFirstOccurrence(p0: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.removeLastOccurrence|-4951152957490490384[0] + // Public signature debug description: removeLastOccurrence(kotlin.Any?){}kotlin.Boolean + /* fake */ override fun removeLastOccurrence(p0: Any?): Boolean + + // CHECK: + // Mangled name: D#removeRange(kotlin.Int;kotlin.Int){} + // Public signature: /D.removeRange|7632320944993890593[0] + // Public signature debug description: removeRange(kotlin.Int;kotlin.Int){} + protected_and_package /* fake */ override fun removeRange(p0: Int, p1: Int): Unit + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + // Public signature: /D.replaceAll|6274321624880920804[0] + // Public signature debug description: replaceAll(java.util.function.UnaryOperator{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Int?>): Unit + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|9019132369114162808[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int?>): Boolean + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.LinkedList? + // Public signature: /D.reversed|-5289114913512537611[0] + // Public signature debug description: reversed(){}java.util.LinkedList? + /* fake */ override fun reversed(): LinkedList? + + // CHECK JVM_IR: + // Mangled name: D#set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /D.set|6213268196513171993[0] + // Public signature debug description: set(kotlin.Int;kotlin.Int?{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun set(index: Int, element: @EnhancedNullability Int?): @EnhancedNullability Int? + + // CHECK: + // Mangled name: D#sort(java.util.Comparator?){} + // Public signature: /D.sort|8069876015820305517[0] + // Public signature debug description: sort(java.util.Comparator?){} + /* fake */ override fun sort(p0: Comparator?): Unit + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + // Public signature: /D.subList|-4774771961505020315[0] + // Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList{EnhancedNullability} + /* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#toArray(){}kotlin.Array? + // Public signature: /D.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /D.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: D#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /D.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + override fun addLast(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int){}kotlin.Int? + // Public signature: /D.get|3354880903083512916[0] + // Public signature debug description: get(kotlin.Int){}kotlin.Int? + override operator fun get(index: Int): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(){}kotlin.Int? + // Public signature: /D.remove|-548887123174520269[0] + // Public signature debug description: remove(){}kotlin.Int? + override fun remove(): Int? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAt(kotlin.Int){}kotlin.Int? + // Public signature: /D.removeAt|4962369383997844352[0] + // Public signature debug description: removeAt(kotlin.Int){}kotlin.Int? + override fun removeAt(index: Int): Int? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.ir.txt new file mode 100644 index 00000000000..f7a417a86f8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.ir.txt @@ -0,0 +1,1269 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SequencedCollection) 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.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeFirst visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeFirst (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedCollection + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedCollection declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeFirst visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeFirst (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SequencedCollection + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedCollection declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .E.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.E [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + public abstract fun getFirst (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + public abstract fun getFirst (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=2 + 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.SequencedCollection) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java3) 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 .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SequencedCollection) 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.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun last (): T of kotlin.collections.last declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedCollection declared in .B' type=java.util.SequencedCollection origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedCollection declared in .D' type=java.util.SequencedCollection origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .F' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .G' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.kt.txt new file mode 100644 index 00000000000..f69b829bb7b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.fir.kt.txt @@ -0,0 +1,160 @@ +abstract class A : SequencedCollection { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SequencedCollection { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun removeFirst(): Int { + return 1 + } + + override fun reversed(): SequencedCollection { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun remove(element: Int?): Boolean { + return true + } + + override fun removeFirst(): Int { + return 2 + } + + override fun reversed(): SequencedCollection { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class E : Java1, Java2 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getFirst(): Int { + return 2 + } + +} + +abstract class F : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun getFirst(): Int { + return 2 + } + +} + +abstract class G : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +interface KotlinInterface : SequencedCollection { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.getFirst() /*~> Unit */ + a.getLast() /*~> Unit */ + a.first<@FlexibleNullability Int?>() /*~> Unit */ + a.last<@FlexibleNullability Int?>() /*~> Unit */ + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + b.addFirst(p0 = 1) + b.addLast(p0 = null) + b.getFirst() /*~> Unit */ + b.getLast() /*~> Unit */ + b.removeFirst() /*~> Unit */ + b.removeLast() /*~> Unit */ + b.reversed() /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.getFirst() /*~> Unit */ + c.getLast() /*~> Unit */ + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + c.reversed() /*~> Unit */ + d.removeFirst() /*~> Unit */ + d.removeLast() /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(p0 = null) + d.reversed() /*~> Unit */ + d.getFirst() /*~> Unit */ + d.getLast() /*~> Unit */ + e.getFirst() /*~> Unit */ + e.getLast() /*~> Unit */ + e.removeFirst() /*~> Unit */ + e.removeLast() /*~> Unit */ + e.addFirst(p0 = 1) + e.addLast(p0 = null) + e.reversed() /*~> Unit */ + f.getFirst() /*~> Unit */ + f.getLast() /*~> Unit */ + f.removeFirst() /*~> Unit */ + f.removeLast() /*~> Unit */ + f.addFirst(p0 = 1) + f.addLast(p0 = null) + f.reversed() /*~> Unit */ + g.getFirst() /*~> Unit */ + g.getLast() /*~> Unit */ + g.removeFirst() /*~> Unit */ + g.removeLast() /*~> Unit */ + g.addFirst(p0 = 1) + g.addLast(p0 = null) + g.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.ir.txt new file mode 100644 index 00000000000..f629c2479e6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.ir.txt @@ -0,0 +1,1285 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SequencedCollection]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:removeFirst visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeFirst (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedCollection + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedCollection declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.D, element:kotlin.Int?) returnType:kotlin.Boolean + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (element: kotlin.Int?): kotlin.Boolean declared in .D' + CONST Boolean type=kotlin.Boolean value=true + FUN name:removeFirst visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun removeFirst (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=2 + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SequencedCollection + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedCollection declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .E.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.E [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.E.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.E.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.E.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + public abstract fun getFirst (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=2 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.F.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.F.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.F.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + public abstract fun getFirst (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=2 + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.G.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.G.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.G.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedCollection] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedCollection?): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedCollection? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedCollection?>): kotlin.Boolean declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedCollection) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] E of java.util.SequencedCollection?>? declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedCollection?> declared in java.util.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedCollection + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>? + 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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.SequencedCollection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun first (): T of kotlin.collections.first declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun last (): T of kotlin.collections.last declared in kotlin.collections' type=@[FlexibleNullability] kotlin.Int? origin=null + : @[FlexibleNullability] kotlin.Int? + $receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedCollection declared in .B' type=java.util.SequencedCollection origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedCollection declared in .D' type=java.util.SequencedCollection origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .F' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .G' type=@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt new file mode 100644 index 00000000000..c1040a2d36d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt @@ -0,0 +1,125 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB + +// FILE: Java1.java +import java.util.SequencedCollection; +public abstract class Java1 implements SequencedCollection { } + +// FILE: Java2.java +public interface Java2 { + int getFirst(); +} + +// FILE: Java3.java +public abstract class Java3 implements KotlinInterface { } + +// FILE: 1.kt +import java.util.* + +abstract class A : SequencedCollection + +abstract class B(override val size: Int) : SequencedCollection { + override fun removeFirst(): Int { + return 1 + } + + override fun reversed(): SequencedCollection { + return null!! + } +} + +abstract class C : Java1() // Kotlin ← Java1 ←Java2 + +abstract class D : Java1() { + override val size: Int + get() = 5 + + override fun remove(element: Int?): Boolean { + return true + } + + override fun reversed(): SequencedCollection { + return null!! + } + + override fun removeFirst(): Int { + return 2 + } +} + +abstract class E(override val size: Int) : Java1(), Java2 { //Kotlin ← Java1, Java2 ← Java3 + override fun getFirst(): Int { + return 2 + } +} + +abstract class F : KotlinInterface, Java2 { //Kotlin ← Java, Kotlin2 ← Java2 + override fun getFirst(): Int { + return 2 + } +} + +abstract class G : Java3() //Kotlin ← Java ← Kotlin ← Java + +interface KotlinInterface : SequencedCollection + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + a.addFirst(1) + a.addLast(null) + a.first + a.last + a.first() + a.last() + a.removeFirst() + a.removeLast() + a.reversed() + + b.addFirst(1) + b.addLast(null) + b.first + b.last + b.removeFirst() + b.removeLast() + b.reversed() + + c.addFirst(1) + c.addLast(null) + c.first + c.last + c.removeFirst() + c.removeLast() + c.reversed() + + d.removeFirst() + d.removeLast() + d.addFirst(1) + d.addLast(null) + d.reversed() + d.first + d.last + + e.first + e.last + e.removeFirst() + e.removeLast() + e.addFirst(1) + e.addLast(null) + e.reversed() + + f.first + f.last + f.removeFirst() + f.removeLast() + f.addFirst(1) + f.addLast(null) + f.reversed() + + g.first + g.last + g.removeFirst() + g.removeLast() + g.addFirst(1) + g.addLast(null) + g.reversed() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt.txt new file mode 100644 index 00000000000..f69b829bb7b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt.txt @@ -0,0 +1,160 @@ +abstract class A : SequencedCollection { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SequencedCollection { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun removeFirst(): Int { + return 1 + } + + override fun reversed(): SequencedCollection { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun remove(element: Int?): Boolean { + return true + } + + override fun removeFirst(): Int { + return 2 + } + + override fun reversed(): SequencedCollection { + return CHECK_NOT_NULL(arg0 = null) + } + + override val size: Int + override get(): Int { + return 5 + } + +} + +abstract class E : Java1, Java2 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getFirst(): Int { + return 2 + } + +} + +abstract class F : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun getFirst(): Int { + return 2 + } + +} + +abstract class G : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +interface KotlinInterface : SequencedCollection { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.getFirst() /*~> Unit */ + a.getLast() /*~> Unit */ + a.first<@FlexibleNullability Int?>() /*~> Unit */ + a.last<@FlexibleNullability Int?>() /*~> Unit */ + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + b.addFirst(p0 = 1) + b.addLast(p0 = null) + b.getFirst() /*~> Unit */ + b.getLast() /*~> Unit */ + b.removeFirst() /*~> Unit */ + b.removeLast() /*~> Unit */ + b.reversed() /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.getFirst() /*~> Unit */ + c.getLast() /*~> Unit */ + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + c.reversed() /*~> Unit */ + d.removeFirst() /*~> Unit */ + d.removeLast() /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(p0 = null) + d.reversed() /*~> Unit */ + d.getFirst() /*~> Unit */ + d.getLast() /*~> Unit */ + e.getFirst() /*~> Unit */ + e.getLast() /*~> Unit */ + e.removeFirst() /*~> Unit */ + e.removeLast() /*~> Unit */ + e.addFirst(p0 = 1) + e.addLast(p0 = null) + e.reversed() /*~> Unit */ + f.getFirst() /*~> Unit */ + f.getLast() /*~> Unit */ + f.removeFirst() /*~> Unit */ + f.removeLast() /*~> Unit */ + f.addFirst(p0 = 1) + f.addLast(p0 = null) + f.reversed() /*~> Unit */ + g.getFirst() /*~> Unit */ + g.getLast() /*~> Unit */ + g.removeFirst() /*~> Unit */ + g.removeLast() /*~> Unit */ + g.addFirst(p0 = 1) + g.addLast(p0 = null) + g.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.sig.kt.txt new file mode 100644 index 00000000000..cd00ad264be --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.sig.kt.txt @@ -0,0 +1,1287 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SequencedCollection { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedCollection? + // Public signature: /A.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SequencedCollection { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // 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#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // 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#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int + // Public signature: /B.removeFirst|-1132150490935392567[0] + // Public signature debug description: removeFirst(){}kotlin.Int + override fun removeFirst(): Int + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedCollection + // Public signature: /B.reversed|4028613673001909674[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection + override fun reversed(): SequencedCollection + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.SequencedCollection? + // Public signature: /C.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int + // Public signature: /D.removeFirst|-1132150490935392567[0] + // Public signature debug description: removeFirst(){}kotlin.Int + override fun removeFirst(): Int + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.SequencedCollection + // Public signature: /D.reversed|4028613673001909674[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection + override fun reversed(): SequencedCollection + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#addFirst(kotlin.Int?){} + // Public signature: /E.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: E#addLast(kotlin.Int?){} + // Public signature: /E.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#getLast(){}kotlin.Int? + // Public signature: /E.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeFirst(){}kotlin.Int? + // Public signature: /E.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeLast(){}kotlin.Int? + // Public signature: /E.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#reversed(){}java.util.SequencedCollection? + // Public signature: /E.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /E.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /E.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: E#getFirst(){}kotlin.Int + // Public signature: /E.getFirst|-3582553967177118624[0] + // Public signature debug description: getFirst(){}kotlin.Int + override fun getFirst(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#addFirst(kotlin.Int?){} + // Public signature: /F.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: F#addLast(kotlin.Int?){} + // Public signature: /F.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#getLast(){}kotlin.Int? + // Public signature: /F.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeFirst(){}kotlin.Int? + // Public signature: /F.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeLast(){}kotlin.Int? + // Public signature: /F.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#reversed(){}java.util.SequencedCollection? + // Public signature: /F.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /F.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: F#getFirst(){}kotlin.Int + // Public signature: /F.getFirst|-3582553967177118624[0] + // Public signature debug description: getFirst(){}kotlin.Int + override fun getFirst(): Int + + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#addFirst(kotlin.Int?){} + // Public signature: /G.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: G#addLast(kotlin.Int?){} + // Public signature: /G.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#getFirst(){}kotlin.Int? + // Public signature: /G.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#getLast(){}kotlin.Int? + // Public signature: /G.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeFirst(){}kotlin.Int? + // Public signature: /G.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeLast(){}kotlin.Int? + // Public signature: /G.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#reversed(){}java.util.SequencedCollection? + // Public signature: /G.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /G.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SequencedCollection { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#addFirst(kotlin.Int?){} + // Public signature: /KotlinInterface.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#addLast(kotlin.Int?){} + // Public signature: /KotlinInterface.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getLast(){}kotlin.Int? + // Public signature: /KotlinInterface.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeLast(){}kotlin.Int? + // Public signature: /KotlinInterface.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#reversed(){}java.util.SequencedCollection? + // Public signature: /KotlinInterface.reversed|8524497970306435022[0] + // Public signature debug description: reversed(){}java.util.SequencedCollection? + abstract /* fake */ override fun reversed(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /KotlinInterface.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G){} +// Public signature: /test|-3020703466980043959[0] +// Public signature debug description: test(A;B;C;D;E;F;G){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..1ddb92b0851 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.ir.txt @@ -0,0 +1,519 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Int + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashMap + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:newHashMap visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of .A.newHashMap?, @[FlexibleNullability] V of .A.newHashMap?>? [fake_override] + overridden: + public open fun newHashMap (p0: kotlin.Int): @[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of java.util.HashMap.newHashMap?, @[FlexibleNullability] V of java.util.HashMap.newHashMap?>? declared in java.util.HashMap + TYPE_PARAMETER name:K index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashMap + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Int + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashMap + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (p0: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (p0: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getOrDefault (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:newHashMap visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of .B.newHashMap?, @[FlexibleNullability] V of .B.newHashMap?>? [fake_override] + overridden: + public open fun newHashMap (p0: kotlin.Int): @[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of java.util.HashMap.newHashMap?, @[FlexibleNullability] V of java.util.HashMap.newHashMap?>? declared in java.util.HashMap + TYPE_PARAMETER name:K index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun put (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (p0: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.HashMap?, @[FlexibleNullability] V of java.util.HashMap?>?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.HashMap?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashMap + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.HashMap?>? declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .B' type=java.util.SequencedMap origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..32a644542dc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.kt.txt @@ -0,0 +1,31 @@ +abstract class A : HashMap, SequencedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +class B : HashMap, SequencedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.putLast(p0 = null, p1 = 1) /*~> Unit */ + a.putLast(p0 = 2, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..9fe1b421d36 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,513 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SequencedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.compute|8785585401553282092[0] + // Public signature debug description: compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.computeIfAbsent|-1249001741600089785[0] + // Public signature debug description: computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Function): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.computeIfPresent|-8809052026250919703[0] + // Public signature debug description: computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsKey|4229800636915993246[0] + // Public signature debug description: containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsValue|-1914826999950043547[0] + // Public signature debug description: containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.firstEntry|-8621620705017438674[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-492158077168175336[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.get|2240171182550046082[0] + // Public signature debug description: get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(p0: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getOrDefault|1084929023578867904[0] + // Public signature debug description: getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.lastEntry|2212793220768320027[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.merge|-974778037139916209[0] + // Public signature debug description: merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollFirstEntry|4032300592794565019[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollLastEntry|-5311909579833704810[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.put|-3874938654958458244[0] + // Public signature debug description: put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun put(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /A.putAll|-8808553494152125510[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(p0: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /A.putFirst|5353438407020825866[0] + // Public signature debug description: putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putFirst(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.putIfAbsent|-4466594684680502432[0] + // Public signature debug description: putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /A.putLast|5023974891509468831[0] + // Public signature debug description: putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putLast(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.remove|8265479329144096084[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun remove(p0: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|7727308921331054766[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.replace|7080643283340927018[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|787053809265657944[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-6795545921425284365[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedMap? + // Public signature: /A.reversed|835750828519496516[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: A#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /A.sequencedEntrySet|5746834858841521518[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: A#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /A.sequencedKeySet|-5458623164139076655[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /A.sequencedValues|-5698393696375064612[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet> + // Public signature: /A.entries.|1692716713642529615[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet + // Public signature: /A.keys.|198765053730638131[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection + // Public signature: /A.values.|6778780144264802127[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : HashMap, SequencedMap { + // 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.compute|8785585401553282092[0] + // Public signature debug description: compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.computeIfAbsent|-1249001741600089785[0] + // Public signature debug description: computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Function): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.computeIfPresent|-8809052026250919703[0] + // Public signature debug description: computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsKey|4229800636915993246[0] + // Public signature debug description: containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsValue|-1914826999950043547[0] + // Public signature debug description: containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.firstEntry|-8621620705017438674[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-492158077168175336[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.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.get|2240171182550046082[0] + // Public signature debug description: get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(p0: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getOrDefault|1084929023578867904[0] + // Public signature debug description: getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getOrDefault(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.lastEntry|2212793220768320027[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.merge|-974778037139916209[0] + // Public signature debug description: merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollFirstEntry|4032300592794565019[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollLastEntry|-5311909579833704810[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.put|-3874938654958458244[0] + // Public signature debug description: put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun put(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /B.putAll|-8808553494152125510[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(p0: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /B.putFirst|5353438407020825866[0] + // Public signature debug description: putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putFirst(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.putIfAbsent|-4466594684680502432[0] + // Public signature debug description: putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /B.putLast|5023974891509468831[0] + // Public signature debug description: putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putLast(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.remove|8265479329144096084[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun remove(p0: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|7727308921331054766[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.replace|7080643283340927018[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|787053809265657944[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-6795545921425284365[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#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /B.sequencedEntrySet|5746834858841521518[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: B#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /B.sequencedKeySet|-5458623164139076655[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: B#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /B.sequencedValues|-5698393696375064612[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedMap + // Public signature: /B.reversed|6247432259507587700[0] + // Public signature debug description: reversed(){}java.util.SequencedMap + override fun reversed(): SequencedMap + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet> + // Public signature: /B.entries.|1692716713642529615[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet + // Public signature: /B.keys.|198765053730638131[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection + // Public signature: /B.values.|6778780144264802127[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.ir.txt new file mode 100644 index 00000000000..57455b3b6bf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.ir.txt @@ -0,0 +1,519 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Int + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashMap + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap, value:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:value index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, defaultValue:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:newHashMap visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of .A.newHashMap?, @[FlexibleNullability] V of .A.newHashMap?>? [fake_override] + overridden: + public open fun newHashMap (p0: kotlin.Int): @[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of java.util.HashMap.newHashMap?, @[FlexibleNullability] V of java.util.HashMap.newHashMap?>? declared in java.util.HashMap + TYPE_PARAMETER name:K index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, value:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap, from:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:from index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, value:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] kotlin.Int, @[EnhancedNullability] kotlin.Int>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.Int> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashMap + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.Int> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashMap' + : kotlin.Int + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashMap; java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashMap + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsKey (key: @[EnhancedNullability] K of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:OPEN <> ($this:java.util.HashMap, value:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsValue (value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:value index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashMap + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, defaultValue:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int [fake_override] + overridden: + public open fun getOrDefault (key: @[EnhancedNullability] K of java.util.HashMap, defaultValue: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap declared in java.util.HashMap + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:defaultValue index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashMap + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashMap + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] {V of java.util.HashMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:newHashMap visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of .B.newHashMap?, @[FlexibleNullability] V of .B.newHashMap?>? [fake_override] + overridden: + public open fun newHashMap (p0: kotlin.Int): @[FlexibleNullability] java.util.HashMap<@[FlexibleNullability] K of java.util.HashMap.newHashMap?, @[FlexibleNullability] V of java.util.HashMap.newHashMap?>? declared in java.util.HashMap + TYPE_PARAMETER name:K index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + TYPE_PARAMETER name:V index:1 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, value:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun put (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putAll visibility:public modality:OPEN <> ($this:java.util.HashMap, from:@[EnhancedNullability] kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public open fun putAll (from: @[EnhancedNullability] kotlin.collections.Map): kotlin.Unit declared in java.util.HashMap + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:from index:0 type:@[EnhancedNullability] kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashMap, key:@[EnhancedNullability] kotlin.Int, value:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (key: @[EnhancedNullability] K of java.util.HashMap, value: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:key index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:value index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int) returnType:@[EnhancedNullability] kotlin.Int? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap): @[EnhancedNullability] V of java.util.HashMap? declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.HashMap, p0:@[EnhancedNullability] kotlin.Int, p1:@[EnhancedNullability] kotlin.Int, p2:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] K of java.util.HashMap, p1: @[EnhancedNullability] V of java.util.HashMap, p2: @[EnhancedNullability] V of java.util.HashMap): kotlin.Boolean declared in java.util.HashMap + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Int + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.HashMap, 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.HashMap + public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.String [fake_override] + overridden: + public open fun toString (): @[EnhancedNullability] kotlin.String declared in java.util.HashMap + public open fun toString (): kotlin.String declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.AbstractMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?> + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open entries: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] kotlin.Int, @[EnhancedNullability] kotlin.Int>> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.collections.MutableMap.MutableEntry<@[EnhancedNullability] K of java.util.HashMap, @[EnhancedNullability] V of java.util.HashMap>> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open keys: @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] kotlin.Int> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableSet<@[EnhancedNullability] K of java.util.HashMap> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashMap + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open values: @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashMap) returnType:@[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] kotlin.Int> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): @[EnhancedNullability] kotlin.collections.MutableCollection<@[EnhancedNullability] V of java.util.HashMap> declared in java.util.HashMap + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.HashMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Int?, p1: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=2 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .B' type=java.util.SequencedMap origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt new file mode 100644 index 00000000000..8d30e9cc412 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt @@ -0,0 +1,28 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65667, KT-63914 + +// FILE: 1.kt +import java.util.* +import kotlin.collections.HashMap + +abstract class A : HashMap(), SequencedMap + +class B : HashMap(), SequencedMap { + override fun reversed(): SequencedMap { + return null!! + } +} + +fun test(a: A, b: B){ + a.size + a.putLast(null, 1) + a.putLast(2, null) + a.firstEntry() + a.lastEntry() + a.reversed() + + b.reversed() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt.txt new file mode 100644 index 00000000000..32a644542dc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt.txt @@ -0,0 +1,31 @@ +abstract class A : HashMap, SequencedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + +} + +class B : HashMap, SequencedMap { + constructor() /* primary */ { + super/*HashMap*/() + /* () */ + + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.putLast(p0 = null, p1 = 1) /*~> Unit */ + a.putLast(p0 = 2, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..b8136fa1649 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.sig.kt.txt @@ -0,0 +1,513 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashMap, SequencedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.compute|8785585401553282092[0] + // Public signature debug description: compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.computeIfAbsent|-1249001741600089785[0] + // Public signature debug description: computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Function): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.computeIfPresent|-8809052026250919703[0] + // Public signature debug description: computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsKey|4229800636915993246[0] + // Public signature debug description: containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(key: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.containsValue|-1914826999950043547[0] + // Public signature debug description: containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(value: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.firstEntry|-8621620705017438674[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-492158077168175336[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.get|2240171182550046082[0] + // Public signature debug description: get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(key: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /A.getOrDefault|1084929023578867904[0] + // Public signature debug description: getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Int, defaultValue: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.lastEntry|2212793220768320027[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.merge|-974778037139916209[0] + // Public signature debug description: merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollFirstEntry|4032300592794565019[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollLastEntry|-5311909579833704810[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.put|-3874938654958458244[0] + // Public signature debug description: put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun put(key: @EnhancedNullability Int, value: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /A.putAll|-3611552619715366001[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(from: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /A.putFirst|5353438407020825866[0] + // Public signature debug description: putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putFirst(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.putIfAbsent|-4466594684680502432[0] + // Public signature debug description: putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /A.putLast|5023974891509468831[0] + // Public signature debug description: putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putLast(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.remove|8265479329144096084[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun remove(key: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|7727308921331054766[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(key: @EnhancedNullability Int, value: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /A.replace|7080643283340927018[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|787053809265657944[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-6795545921425284365[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedMap? + // Public signature: /A.reversed|835750828519496516[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: A#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /A.sequencedEntrySet|5746834858841521518[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: A#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /A.sequencedKeySet|-5458623164139076655[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /A.sequencedValues|-5698393696375064612[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Int, @EnhancedNullability Int>> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /A.entries.|-6784228018896218890[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Int, @EnhancedNullability Int>> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet<@EnhancedNullability Int> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /A.keys.|-3100522392016272266[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability Int> + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection<@EnhancedNullability Int> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /A.values.|301862012344866451[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection<@EnhancedNullability Int> + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : HashMap, SequencedMap { + // 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(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.compute|8785585401553282092[0] + // Public signature debug description: compute(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.computeIfAbsent|-1249001741600089785[0] + // Public signature debug description: computeIfAbsent(kotlin.Int{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Function): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.computeIfPresent|-8809052026250919703[0] + // Public signature debug description: computeIfPresent(kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Int, p1: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsKey|4229800636915993246[0] + // Public signature debug description: containsKey(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsKey(key: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.containsValue|-1914826999950043547[0] + // Public signature debug description: containsValue(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun containsValue(value: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.firstEntry|-8621620705017438674[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-492158077168175336[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.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.get|2240171182550046082[0] + // Public signature debug description: get(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override operator fun get(key: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + // Public signature: /B.getOrDefault|1084929023578867904[0] + // Public signature debug description: getOrDefault(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int{EnhancedNullability} + /* fake */ override fun getOrDefault(key: @EnhancedNullability Int, defaultValue: @EnhancedNullability Int): @EnhancedNullability Int + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.lastEntry|2212793220768320027[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.merge|-974778037139916209[0] + // Public signature debug description: merge(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability BiFunction): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollFirstEntry|4032300592794565019[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollLastEntry|-5311909579833704810[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.put|-3874938654958458244[0] + // Public signature debug description: put(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun put(key: @EnhancedNullability Int, value: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map{EnhancedNullability}){} + // Public signature: /B.putAll|-3611552619715366001[0] + // Public signature debug description: putAll(kotlin.collections.Map{EnhancedNullability}){} + /* fake */ override fun putAll(from: @EnhancedNullability Map): Unit + + // CHECK JVM_IR: + // Mangled name: B#putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /B.putFirst|5353438407020825866[0] + // Public signature debug description: putFirst(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putFirst(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: B#putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.putIfAbsent|-4466594684680502432[0] + // Public signature debug description: putIfAbsent(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + // Public signature: /B.putLast|5023974891509468831[0] + // Public signature debug description: putLast(kotlin.Int?;kotlin.Int?){}kotlin.Int? + /* fake */ override fun putLast(p0: Int?, p1: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.remove|8265479329144096084[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun remove(key: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|7727308921331054766[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(key: @EnhancedNullability Int, value: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + // Public signature: /B.replace|7080643283340927018[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Int?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int): @EnhancedNullability Int? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|787053809265657944[0] + // Public signature debug description: replace(kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability};kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Int, p1: @EnhancedNullability Int, p2: @EnhancedNullability Int): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-6795545921425284365[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#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /B.sequencedEntrySet|5746834858841521518[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: B#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /B.sequencedKeySet|-5458623164139076655[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: B#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /B.sequencedValues|-5698393696375064612[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedMap + // Public signature: /B.reversed|6247432259507587700[0] + // Public signature debug description: reversed(){}java.util.SequencedMap + override fun reversed(): SequencedMap + + // CHECK: + // Mangled name: B{}entries + // Public signature: /B.entries|-586096469347622282[0] + // Public signature debug description: {}entries + /* fake */ override val entries: @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Int, @EnhancedNullability Int>> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + // Public signature: /B.entries.|-6784228018896218890[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability}>{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability MutableEntry<@EnhancedNullability Int, @EnhancedNullability Int>> + + // CHECK: + // Mangled name: B{}keys + // Public signature: /B.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + /* fake */ override val keys: @EnhancedNullability MutableSet<@EnhancedNullability Int> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableSet{EnhancedNullability} + // Public signature: /B.keys.|-3100522392016272266[0] + // Public signature debug description: (){}kotlin.collections.MutableSet{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableSet<@EnhancedNullability Int> + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}values + // Public signature: /B.values|-764749005844117249[0] + // Public signature debug description: {}values + /* fake */ override val values: @EnhancedNullability MutableCollection<@EnhancedNullability Int> + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.MutableCollection{EnhancedNullability} + // Public signature: /B.values.|301862012344866451[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection{EnhancedNullability} + /* fake */ override get(): @EnhancedNullability MutableCollection<@EnhancedNullability Int> + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.ir.txt new file mode 100644 index 00000000000..be734107843 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.ir.txt @@ -0,0 +1,1616 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:firstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:putFirst visibility:public modality:OPEN <> ($this:.B, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap? + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:putFirst visibility:public modality:OPEN <> ($this:.C, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun putFirst (k: @[FlexibleNullability] kotlin.Any?, v: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .C' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[FlexibleNullability] @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p2: @[FlexibleNullability] @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:putFirst visibility:public modality:OPEN <> ($this:.D, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public abstract fun putFirst (k: @[FlexibleNullability] kotlin.Any?, v: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .D' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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:.Java3) 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 .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, key:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .F' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.F) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap) 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.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap? declared in .B' type=java.util.SequencedMap? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .C' type=kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .D' type=kotlin.Any origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .D' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .E' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .E' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .F' type=java.util.SequencedMap origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.kt.txt new file mode 100644 index 00000000000..e0285c7cc64 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.fir.kt.txt @@ -0,0 +1,125 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun firstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap? { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + +} + +abstract class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + +} + +abstract class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class F : Java3 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun remove(key: Any?): Any? { + return "" + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : SequencedMap { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.putFirst(p0 = 1, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.putLast(p0 = null, p1 = 2) /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.pollFirstEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + a.sequencedKeySet() /*~> Unit */ + b.putFirst(k = 1, v = null) /*~> Unit */ + b.firstEntry() /*~> Unit */ + b.putLast(p0 = null, p1 = 2) /*~> Unit */ + b.lastEntry() /*~> Unit */ + b.pollFirstEntry() /*~> Unit */ + b.reversed() /*~> Unit */ + b.sequencedKeySet() /*~> Unit */ + c.putFirst(k = 1, v = null) /*~> Unit */ + c.firstEntry() /*~> Unit */ + c.putLast(p0 = null, p1 = 2) /*~> Unit */ + c.lastEntry() /*~> Unit */ + c.reversed() /*~> Unit */ + d.putFirst(k = 1, v = null) /*~> Unit */ + d.firstEntry() /*~> Unit */ + d.putLast(p0 = null, p1 = 1) /*~> Unit */ + d.lastEntry() /*~> Unit */ + d.reversed() /*~> Unit */ + e.putFirst(p0 = 1, p1 = null) /*~> Unit */ + e.firstEntry() /*~> Unit */ + e.putLast(p0 = null, p1 = 2) /*~> Unit */ + e.lastEntry() /*~> Unit */ + e.reversed() /*~> Unit */ + f.putFirst(p0 = 1, p1 = null) /*~> Unit */ + f.firstEntry() /*~> Unit */ + f.putLast(p0 = null, p1 = 2) /*~> Unit */ + f.lastEntry() /*~> Unit */ + f.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.ir.txt new file mode 100644 index 00000000000..94328b8f941 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.ir.txt @@ -0,0 +1,1616 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:firstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:putFirst visibility:public modality:OPEN <> ($this:.B, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap? + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap? declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:putFirst visibility:public modality:OPEN <> ($this:.C, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun putFirst (k: @[FlexibleNullability] kotlin.Any?, v: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .C' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:putFirst visibility:public modality:OPEN <> ($this:.D, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public abstract fun putFirst (k: @[FlexibleNullability] kotlin.Any?, v: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .D' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] kotlin.Any?, defaultValue: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] kotlin.Any, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] kotlin.Any?, value: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): @[EnhancedNullability] kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2: @[EnhancedNullability] @[FlexibleNullability] kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:remove visibility:public modality:OPEN <> ($this:.F, key:kotlin.Any?) returnType:kotlin.Any? + overridden: + public abstract fun remove (key: @[FlexibleNullability] kotlin.Any?): kotlin.Any? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:key index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun remove (key: kotlin.Any?): kotlin.Any? declared in .F' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.F) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap? declared in .B' type=java.util.SequencedMap? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .C' type=kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .C' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .D' type=kotlin.Any origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .D' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .E' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .E' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .F' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .F' type=java.util.SequencedMap origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt new file mode 100644 index 00000000000..a501f13e155 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt @@ -0,0 +1,102 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB + +// FILE: Java1.java +import java.util.SequencedMap; +public abstract class Java1 implements SequencedMap { } + +// FILE: Java2.java +public interface Java2 { + Object putFirst(Object k, Object v); +} + +// FILE: Java3.java +public abstract class Java3 implements KotlinInterface { } + +// FILE: 1.kt +import java.util.* + +abstract class A : Java1() // Kotlin ← Java1 ← Java2 + +abstract class B : Java1() { + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap? { + return null!! + } + + override fun firstEntry(): MutableMap.MutableEntry { + return null!! + } +} + +abstract class C : Java1(), Java2 { //Kotlin ← Java1, Java2 ← Java3 + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } +} + +abstract class D : Java2, KotlinInterface { //Kotlin ← Java, Kotlin2 ← Java2 + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } +} + +abstract class E : Java3() //Kotlin ← Java ← Kotlin ← Java + +abstract class F(override val size: Int) : Java3() { + override fun remove(key: Any?): Any? { + return "" + } + + override fun reversed(): SequencedMap { + return null!! + } +} + +interface KotlinInterface : SequencedMap + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.putFirst(1, null) + a.firstEntry() + a.putLast(null, 2) + a.lastEntry() + a.pollFirstEntry() + a.reversed() + a.sequencedKeySet() + + b.putFirst(1, null) + b.firstEntry() + b.putLast(null, 2) + b.lastEntry() + b.pollFirstEntry() + b.reversed() + b.sequencedKeySet() + + c.putFirst(1, null) + c.firstEntry() + c.putLast(null, 2) + c.lastEntry() + c.reversed() + + d.putFirst(1, null) + d.firstEntry() + d.putLast(null, 1) + d.lastEntry() + d.reversed() + + e.putFirst(1, null) + e.firstEntry() + e.putLast(null, 2) + e.lastEntry() + e.reversed() + + f.putFirst(1, null) + f.firstEntry() + f.putLast(null, 2) + f.lastEntry() + f.reversed() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt.txt new file mode 100644 index 00000000000..e0285c7cc64 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt.txt @@ -0,0 +1,125 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun firstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap? { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + +} + +abstract class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + +} + +abstract class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class F : Java3 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun remove(key: Any?): Any? { + return "" + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : SequencedMap { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.putFirst(p0 = 1, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.putLast(p0 = null, p1 = 2) /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.pollFirstEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + a.sequencedKeySet() /*~> Unit */ + b.putFirst(k = 1, v = null) /*~> Unit */ + b.firstEntry() /*~> Unit */ + b.putLast(p0 = null, p1 = 2) /*~> Unit */ + b.lastEntry() /*~> Unit */ + b.pollFirstEntry() /*~> Unit */ + b.reversed() /*~> Unit */ + b.sequencedKeySet() /*~> Unit */ + c.putFirst(k = 1, v = null) /*~> Unit */ + c.firstEntry() /*~> Unit */ + c.putLast(p0 = null, p1 = 2) /*~> Unit */ + c.lastEntry() /*~> Unit */ + c.reversed() /*~> Unit */ + d.putFirst(k = 1, v = null) /*~> Unit */ + d.firstEntry() /*~> Unit */ + d.putLast(p0 = null, p1 = 1) /*~> Unit */ + d.lastEntry() /*~> Unit */ + d.reversed() /*~> Unit */ + e.putFirst(p0 = 1, p1 = null) /*~> Unit */ + e.firstEntry() /*~> Unit */ + e.putLast(p0 = null, p1 = 2) /*~> Unit */ + e.lastEntry() /*~> Unit */ + e.reversed() /*~> Unit */ + f.putFirst(p0 = 1, p1 = null) /*~> Unit */ + f.firstEntry() /*~> Unit */ + f.putLast(p0 = null, p1 = 2) /*~> Unit */ + f.lastEntry() /*~> Unit */ + f.reversed() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.sig.kt.txt new file mode 100644 index 00000000000..389236ba8cc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.sig.kt.txt @@ -0,0 +1,1525 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.putFirst|-1174246506126844170[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putFirst(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /A.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedMap? + // Public signature: /A.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: A#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /A.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: A#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /A.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /A.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet> + // Public signature: /A.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet + // Public signature: /A.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection + // Public signature: /A.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // 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#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3908022801186974793[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.Any?){}kotlin.Any? + // Public signature: /B.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // 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#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|4263782699476704663[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.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /B.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-1134150745427929608[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#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /B.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: B#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /B.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: B#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /B.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: B#firstEntry(){}kotlin.collections.MutableMap.MutableEntry + // Public signature: /B.firstEntry|-3931496270319708449[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry + override fun firstEntry(): MutableEntry + + // CHECK JVM_IR: + // Mangled name: B#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + // Public signature: /B.putFirst|8899085775984502694[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + override fun putFirst(k: Any?, v: Any?): Any + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedMap? + // Public signature: /B.reversed|-5552903760184830752[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + override fun reversed(): SequencedMap? + + // 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.|5364461168755505465[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.|4202770251599025984[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.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /C.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /C.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: C#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /C.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Any?){}kotlin.Any? + // Public signature: /C.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /C.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: C#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /C.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: C#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /C.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: C#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /C.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: C#putAll(kotlin.collections.Map){} + // Public signature: /C.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: C#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /C.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /C.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: C#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /C.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: C#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: C#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /C.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.SequencedMap? + // Public signature: /C.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: C#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /C.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: C#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /C.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: C#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /C.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: C#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + // Public signature: /C.putFirst|8899085775984502694[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + override fun putFirst(k: Any?, v: Any?): Any + + // CHECK: + // Mangled name: C{}entries + // Public signature: /C.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet> + // Public signature: /C.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: C{}keys + // Public signature: /C.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableSet + // Public signature: /C.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: C{}values + // Public signature: /C.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.MutableCollection + // Public signature: /C.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /D.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /D.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: D#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /D.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Any?){}kotlin.Any? + // Public signature: /D.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /D.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: D#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /D.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: D#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /D.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: D#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /D.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: D#putAll(kotlin.collections.Map){} + // Public signature: /D.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: D#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /D.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /D.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: D#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /D.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: D#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: D#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /D.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.SequencedMap? + // Public signature: /D.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: D#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /D.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: D#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /D.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: D#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /D.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: D#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + // Public signature: /D.putFirst|8899085775984502694[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + override fun putFirst(k: Any?, v: Any?): Any + + // CHECK: + // Mangled name: D{}entries + // Public signature: /D.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet> + // Public signature: /D.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: D{}keys + // Public signature: /D.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableSet + // Public signature: /D.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: D{}values + // Public signature: /D.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.collections.MutableCollection + // Public signature: /D.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /E.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /E.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: E#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /E.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Any?){}kotlin.Any? + // Public signature: /E.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /E.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: E#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /E.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: E#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /E.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: E#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /E.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: E#putAll(kotlin.collections.Map){} + // Public signature: /E.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: E#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /E.putFirst|-1174246506126844170[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putFirst(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: E#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /E.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /E.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: E#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /E.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: E#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: E#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /E.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: E#reversed(){}java.util.SequencedMap? + // Public signature: /E.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: E#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /E.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: E#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /E.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: E#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /E.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK: + // Mangled name: E{}entries + // Public signature: /E.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet> + // Public signature: /E.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: E{}keys + // Public signature: /E.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableSet + // Public signature: /E.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: E{}values + // Public signature: /E.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.collections.MutableCollection + // Public signature: /E.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java3 { + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /F.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /F.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: F#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /F.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Any?){}kotlin.Any? + // Public signature: /F.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /F.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: F#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /F.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: F#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /F.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: F#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /F.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: F#putAll(kotlin.collections.Map){} + // Public signature: /F.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: F#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /F.putFirst|-1174246506126844170[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putFirst(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: F#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /F.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: F#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /F.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: F#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: F#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /F.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: F#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /F.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: F#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /F.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: F#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /F.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /F.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: F#reversed(){}java.util.SequencedMap + // Public signature: /F.reversed|-5300735289314260757[0] + // Public signature debug description: reversed(){}java.util.SequencedMap + override fun reversed(): SequencedMap + + // CHECK: + // Mangled name: F{}entries + // Public signature: /F.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet> + // Public signature: /F.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: F{}keys + // Public signature: /F.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableSet + // Public signature: /F.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: F{}values + // Public signature: /F.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.collections.MutableCollection + // Public signature: /F.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SequencedMap { + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /KotlinInterface.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /KotlinInterface.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /KotlinInterface.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /KotlinInterface.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#get(kotlin.Any?){}kotlin.Any? + // Public signature: /KotlinInterface.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /KotlinInterface.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /KotlinInterface.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /KotlinInterface.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /KotlinInterface.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: KotlinInterface#putAll(kotlin.collections.Map){} + // Public signature: /KotlinInterface.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /KotlinInterface.putFirst|-1174246506126844170[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putFirst(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /KotlinInterface.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /KotlinInterface.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /KotlinInterface.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: KotlinInterface#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /KotlinInterface.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#reversed(){}java.util.SequencedMap? + // Public signature: /KotlinInterface.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /KotlinInterface.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /KotlinInterface.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /KotlinInterface.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK: + // Mangled name: KotlinInterface{}entries + // Public signature: /KotlinInterface.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.MutableSet> + // Public signature: /KotlinInterface.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: KotlinInterface{}keys + // Public signature: /KotlinInterface.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.MutableSet + // Public signature: /KotlinInterface.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: KotlinInterface{}values + // Public signature: /KotlinInterface.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.collections.MutableCollection + // Public signature: /KotlinInterface.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.ir.txt new file mode 100644 index 00000000000..48a0bdd82ab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.ir.txt @@ -0,0 +1,498 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap) 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.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p1:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?, p2:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] @[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:firstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:pollFirstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun pollFirstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:putFirst visibility:public modality:OPEN <> ($this:.B, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:sequencedKeySet visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedSet + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun sequencedKeySet (): java.util.SequencedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .B' type=java.util.SequencedMap origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): java.util.SequencedSet declared in .B' type=java.util.SequencedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.kt.txt new file mode 100644 index 00000000000..37d36ee7304 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.fir.kt.txt @@ -0,0 +1,58 @@ +abstract class A : SequencedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SequencedMap { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun firstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun pollFirstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun sequencedKeySet(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.putFirst(p0 = 1, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.putLast(p0 = null, p1 = 2) /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.pollFirstEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + a.sequencedKeySet() /*~> Unit */ + b.putFirst(k = 1, v = null) /*~> Unit */ + b.firstEntry() /*~> Unit */ + b.putLast(p0 = null, p1 = 2) /*~> Unit */ + b.lastEntry() /*~> Unit */ + b.pollFirstEntry() /*~> Unit */ + b.reversed() /*~> Unit */ + b.sequencedKeySet() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.ir.txt new file mode 100644 index 00000000000..6589d577e5b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.ir.txt @@ -0,0 +1,498 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:firstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollFirstEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:from index:0 type:kotlin.collections.Map + FUN FAKE_OVERRIDE name:putFirst visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedKeySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>) 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SequencedMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SequencedMap]' + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun compute (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.Function) returnType:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun computeIfPresent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsKey (key: @[FlexibleNullability] K of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:containsValue visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsValue (value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:value index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:getOrDefault visibility:public modality:OPEN <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, defaultValue:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun getOrDefault (key: @[FlexibleNullability] K of java.util.SequencedMap?, defaultValue: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:defaultValue index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.Map<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN FAKE_OVERRIDE name:lastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] kotlin.Any, p2:@[EnhancedNullability] java.util.function.BiFunction) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun merge (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] {V of java.util.SequencedMap & Any}, p2: @[EnhancedNullability] java.util.function.BiFunction): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] kotlin.Any + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:pollLastEntry visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun pollLastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:put visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun put (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, from:kotlin.collections.Map) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun putAll (from: kotlin.collections.Map): kotlin.Unit declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + 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.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun putIfAbsent (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:putLast visibility:public modality:OPEN <> ($this:java.util.SequencedMap, p0:@[FlexibleNullability] kotlin.Any?, p1:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun putLast (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Any? [fake_override] + overridden: + public abstract fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?): V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, key:@[FlexibleNullability] kotlin.Any?, value:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + annotations: + SinceKotlin(version = "1.1") + PlatformDependent + overridden: + public open fun remove (key: @[FlexibleNullability] K of java.util.SequencedMap?, value: @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:key index:0 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:value index:1 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:@[EnhancedNullability] kotlin.Any? [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): @[EnhancedNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, p0:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p1:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?, p2:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun replace (p0: @[EnhancedNullability] @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?, p2: @[EnhancedNullability] @[FlexibleNullability] V of java.util.SequencedMap?): kotlin.Boolean declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] @[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>, 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction + FUN FAKE_OVERRIDE name:sequencedEntrySet visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>?>? [fake_override] + overridden: + public open fun sequencedEntrySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + FUN FAKE_OVERRIDE name:sequencedValues visibility:public modality:OPEN <> ($this:java.util.SequencedMap) returnType:@[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun sequencedValues (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:java.util.SequencedMap + 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.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:firstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:pollFirstEntry visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.collections.MutableMap.MutableEntry + overridden: + public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun pollFirstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:putFirst visibility:public modality:OPEN <> ($this:.B, k:kotlin.Any?, v:kotlin.Any?) returnType:kotlin.Any + overridden: + public open fun putFirst (p0: @[FlexibleNullability] K of java.util.SequencedMap?, p1: @[FlexibleNullability] V of java.util.SequencedMap?): @[FlexibleNullability] V of java.util.SequencedMap? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:k index:0 type:kotlin.Any? + VALUE_PARAMETER name:v index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' + CONST String type=kotlin.String value="" + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedMap + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] K of java.util.SequencedMap?, @[FlexibleNullability] V of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedMap declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:sequencedKeySet visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedSet + overridden: + public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] K of java.util.SequencedMap?>? declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun sequencedKeySet (): java.util.SequencedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract entries: kotlin.collections.MutableSet> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:entries visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract keys: kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:keys visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableSet<@[FlexibleNullability] K of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract values: kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>) returnType:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Any?> [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:values visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.MutableCollection<@[FlexibleNullability] V of java.util.SequencedMap?> declared in java.util.SequencedMap + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + p1: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .A' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedMap<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putFirst (k: kotlin.Any?, v: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + k: CONST Int type=kotlin.Int value=1 + v: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun firstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun putLast (p0: @[FlexibleNullability] kotlin.Any?, p1: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .B' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + p1: CONST Int type=kotlin.Int value=2 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun lastEntry (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableMap.MutableEntry<@[FlexibleNullability] kotlin.Any?, @[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun pollFirstEntry (): kotlin.collections.MutableMap.MutableEntry declared in .B' type=kotlin.collections.MutableMap.MutableEntry origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedMap declared in .B' type=java.util.SequencedMap origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun sequencedKeySet (): java.util.SequencedSet declared in .B' type=java.util.SequencedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt new file mode 100644 index 00000000000..3fb31b66d38 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt @@ -0,0 +1,48 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB + +// FILE: 1.kt +import java.util.* + +abstract class A : SequencedMap + +abstract class B(override val size: Int) : SequencedMap { + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap { + return null!! + } + + override fun firstEntry(): MutableMap.MutableEntry { + return null!! + } + + override fun pollFirstEntry(): MutableMap.MutableEntry { + return null!! + } + + override fun sequencedKeySet(): SequencedSet { + return null!! + } +} + +fun test(a: A, b: B) { + a.putFirst(1, null) + a.firstEntry() + a.putLast(null, 2) + a.lastEntry() + a.pollFirstEntry() + a.reversed() + a.sequencedKeySet() + + b.putFirst(1, null) + b.firstEntry() + b.putLast(null, 2) + b.lastEntry() + b.pollFirstEntry() + b.reversed() + b.sequencedKeySet() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt.txt new file mode 100644 index 00000000000..37d36ee7304 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt.txt @@ -0,0 +1,58 @@ +abstract class A : SequencedMap { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SequencedMap { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun firstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun pollFirstEntry(): MutableEntry { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun putFirst(k: Any?, v: Any?): Any { + return "" + } + + override fun reversed(): SequencedMap { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun sequencedKeySet(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.putFirst(p0 = 1, p1 = null) /*~> Unit */ + a.firstEntry() /*~> Unit */ + a.putLast(p0 = null, p1 = 2) /*~> Unit */ + a.lastEntry() /*~> Unit */ + a.pollFirstEntry() /*~> Unit */ + a.reversed() /*~> Unit */ + a.sequencedKeySet() /*~> Unit */ + b.putFirst(k = 1, v = null) /*~> Unit */ + b.firstEntry() /*~> Unit */ + b.putLast(p0 = null, p1 = 2) /*~> Unit */ + b.lastEntry() /*~> Unit */ + b.pollFirstEntry() /*~> Unit */ + b.reversed() /*~> Unit */ + b.sequencedKeySet() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.sig.kt.txt new file mode 100644 index 00000000000..00c634c0965 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.sig.kt.txt @@ -0,0 +1,441 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SequencedMap { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /A.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.firstEntry|-1438604311134251286[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun firstEntry(): MutableEntry? + + // CHECK: + // Mangled name: A#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /A.forEach|-3908022801186974793[0] + // Public signature debug description: forEach(java.util.function.BiConsumer{EnhancedNullability}){} + /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer): Unit + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollFirstEntry|7198165164257083671[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollFirstEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /A.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: A#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: A#putAll(kotlin.collections.Map){} + // Public signature: /A.putAll|4263782699476704663[0] + // Public signature debug description: putAll(kotlin.collections.Map){} + abstract /* fake */ override fun putAll(from: Map): Unit + + // CHECK JVM_IR: + // Mangled name: A#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.putFirst|-1174246506126844170[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putFirst(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /A.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /A.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /A.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: A#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /A.replaceAll|-1134150745427929608[0] + // Public signature debug description: replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction): Unit + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedMap? + // Public signature: /A.reversed|-3645293422736843388[0] + // Public signature debug description: reversed(){}java.util.SequencedMap? + abstract /* fake */ override fun reversed(): SequencedMap? + + // CHECK JVM_IR: + // Mangled name: A#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /A.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: A#sequencedKeySet(){}java.util.SequencedSet? + // Public signature: /A.sequencedKeySet|2313800611136673227[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet? + /* fake */ override fun sequencedKeySet(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /A.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK: + // Mangled name: A{}entries + // Public signature: /A.entries|-586096469347622282[0] + // Public signature debug description: {}entries + abstract /* fake */ override val entries: MutableSet> + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet> + // Public signature: /A.entries.|5364461168755505465[0] + // Public signature debug description: (){}kotlin.collections.MutableSet> + abstract /* fake */ override get(): MutableSet> + + // CHECK: + // Mangled name: A{}keys + // Public signature: /A.keys|-1539062068328255324[0] + // Public signature debug description: {}keys + abstract /* fake */ override val keys: MutableSet + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableSet + // Public signature: /A.keys.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + + // CHECK: + // Mangled name: A{}values + // Public signature: /A.values|-764749005844117249[0] + // Public signature debug description: {}values + abstract /* fake */ override val values: MutableCollection + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.MutableCollection + // Public signature: /A.values.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SequencedMap { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* 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#compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.compute|2989718243799803902[0] + // Public signature debug description: compute(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun compute(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfAbsent|7358312311660694557[0] + // Public signature debug description: computeIfAbsent(kotlin.Any?{EnhancedNullability};java.util.function.Function{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Function): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.computeIfPresent|6164204454786587895[0] + // Public signature debug description: computeIfPresent(kotlin.Any?{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#containsKey(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsKey|-6996124624827463257[0] + // Public signature debug description: containsKey(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsKey(key: Any?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsValue(kotlin.Any?){}kotlin.Boolean + // Public signature: /B.containsValue|-5719078749379634951[0] + // Public signature debug description: containsValue(kotlin.Any?){}kotlin.Boolean + abstract /* fake */ override fun containsValue(value: Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.BiConsumer{EnhancedNullability}){} + // Public signature: /B.forEach|-3908022801186974793[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.Any?){}kotlin.Any? + // Public signature: /B.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(key: Any?): Any? + + // 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#lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.lastEntry|-5155048024514644566[0] + // Public signature debug description: lastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun lastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.merge|-8622370546593074499[0] + // Public signature debug description: merge(kotlin.Any?{EnhancedNullability};kotlin.Any{EnhancedNullability};java.util.function.BiFunction{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun merge(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any, p2: @EnhancedNullability BiFunction): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + // Public signature: /B.pollLastEntry|7493506392211065800[0] + // Public signature debug description: pollLastEntry(){}kotlin.collections.MutableMap.MutableEntry? + /* fake */ override fun pollLastEntry(): MutableEntry? + + // CHECK JVM_IR: + // Mangled name: B#put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.put|-5110456244379568139[0] + // Public signature debug description: put(kotlin.Any?;kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun put(key: Any?, value: Any?): Any? + + // CHECK: + // Mangled name: B#putAll(kotlin.collections.Map){} + // Public signature: /B.putAll|4263782699476704663[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.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.putIfAbsent|79996977304059076[0] + // Public signature debug description: putIfAbsent(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + // Public signature: /B.putLast|7758648270672052822[0] + // Public signature debug description: putLast(kotlin.Any?;kotlin.Any?){}kotlin.Any? + /* fake */ override fun putLast(p0: Any?, p1: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Any?){}kotlin.Any? + // Public signature: /B.remove|4360063917175410472[0] + // Public signature debug description: remove(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override fun remove(key: Any?): Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + // Public signature: /B.replace|8797372374690023652[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Any?{EnhancedNullability} + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?): @EnhancedNullability Any? + + // CHECK JVM_IR: + // Mangled name: B#replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.replace|-6385274332281427390[0] + // Public signature debug description: replace(kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability};kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun replace(p0: @EnhancedNullability Any?, p1: @EnhancedNullability Any?, p2: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#replaceAll(java.util.function.BiFunction{EnhancedNullability}){} + // Public signature: /B.replaceAll|-1134150745427929608[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#sequencedEntrySet(){}java.util.SequencedSet?>? + // Public signature: /B.sequencedEntrySet|-1452574564887898882[0] + // Public signature debug description: sequencedEntrySet(){}java.util.SequencedSet?>? + /* fake */ override fun sequencedEntrySet(): SequencedSet?>? + + // CHECK JVM_IR: + // Mangled name: B#sequencedValues(){}java.util.SequencedCollection? + // Public signature: /B.sequencedValues|7562276679714857121[0] + // Public signature debug description: sequencedValues(){}java.util.SequencedCollection? + /* fake */ override fun sequencedValues(): SequencedCollection? + + // CHECK JVM_IR: + // Mangled name: B#firstEntry(){}kotlin.collections.MutableMap.MutableEntry + // Public signature: /B.firstEntry|-3931496270319708449[0] + // Public signature debug description: firstEntry(){}kotlin.collections.MutableMap.MutableEntry + override fun firstEntry(): MutableEntry + + // CHECK JVM_IR: + // Mangled name: B#pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry + // Public signature: /B.pollFirstEntry|7206564836491083547[0] + // Public signature debug description: pollFirstEntry(){}kotlin.collections.MutableMap.MutableEntry + override fun pollFirstEntry(): MutableEntry + + // CHECK JVM_IR: + // Mangled name: B#putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + // Public signature: /B.putFirst|8899085775984502694[0] + // Public signature debug description: putFirst(kotlin.Any?;kotlin.Any?){}kotlin.Any + override fun putFirst(k: Any?, v: Any?): Any + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedMap + // Public signature: /B.reversed|-5300735289314260757[0] + // Public signature debug description: reversed(){}java.util.SequencedMap + override fun reversed(): SequencedMap + + // CHECK JVM_IR: + // Mangled name: B#sequencedKeySet(){}java.util.SequencedSet + // Public signature: /B.sequencedKeySet|-5724282727058867844[0] + // Public signature debug description: sequencedKeySet(){}java.util.SequencedSet + override fun sequencedKeySet(): SequencedSet + + // 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.|5364461168755505465[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.|4202770251599025984[0] + // Public signature debug description: (){}kotlin.collections.MutableSet + abstract /* fake */ override get(): MutableSet + + // 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.|-1613373296464992336[0] + // Public signature debug description: (){}kotlin.collections.MutableCollection + abstract /* fake */ override get(): MutableCollection + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..0fe79dac8a3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.ir.txt @@ -0,0 +1,381 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, 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.HashSet + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + public open fun hashCode (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .A.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.HashSet.newHashSet?>? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.HashSet + public open fun toString (): kotlin.String declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + public abstract fun (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, 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.HashSet + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + public open fun hashCode (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .B.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.HashSet.newHashSet?>? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, 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.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.HashSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.HashSet + public open fun toString (): kotlin.String declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + public abstract fun (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .B' type=java.util.SequencedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..ecf34805890 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.kt.txt @@ -0,0 +1,37 @@ +abstract class A : HashSet, SequencedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class B : HashSet, SequencedSet { + constructor() /* primary */ { + super/*HashSet*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.addFirst(p0 = null) + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ + b.addFirst(p0 = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.sig.kt.txt new file mode 100644 index 00000000000..da27b042fce --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.fir.sig.kt.txt @@ -0,0 +1,399 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashSet, SequencedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#reversed(){}java.util.SequencedSet? + // Public signature: /A.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : HashSet, SequencedSet { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedSet + // Public signature: /B.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator + // Public signature: /B.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.ir.txt new file mode 100644 index 00000000000..d32358014c8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.ir.txt @@ -0,0 +1,385 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + public open fun hashCode (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .A.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.HashSet.newHashSet?>? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.HashSet + public open fun toString (): kotlin.String declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:spliterator visibility:public modality:OPEN <> ($this:.A) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + public abstract fun (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.HashSet' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.util.HashSet; java.util.SequencedSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.HashSet + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.HashSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.HashSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.HashSet + public open fun hashCode (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.HashSet + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet) 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.HashSet> declared in java.util.HashSet + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .B.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.HashSet.newHashSet?>? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.HashSet): kotlin.Boolean declared in java.util.HashSet + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.HashSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.HashSet>): kotlin.Boolean declared in java.util.HashSet + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.HashSet> declared in java.util.HashSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.HashSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.HashSet + public open fun toString (): kotlin.String declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:spliterator visibility:public modality:OPEN <> ($this:.B) returnType:java.util.Spliterator + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.HashSet?> declared in java.util.HashSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun spliterator (): java.util.Spliterator declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.HashSet + public abstract fun (): kotlin.Int declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.HashSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .B' type=java.util.SequencedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt new file mode 100644 index 00000000000..6fd83e77054 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt @@ -0,0 +1,32 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914, KT-65219 + +// FILE: 1.kt +import java.util.* + +abstract class A : HashSet(), SequencedSet { + override fun spliterator(): Spliterator { + return null!! + } +} + +class B : HashSet(), SequencedSet{ + override fun reversed(): SequencedSet { + return null!! + } + override fun spliterator(): Spliterator { + return null!! + } +} + +fun test(a: A, b: B){ + a.size + a.addFirst(null) + a.reversed() + + b.reversed() + b.addFirst(1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt.txt new file mode 100644 index 00000000000..4a3d87c6865 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt.txt @@ -0,0 +1,37 @@ +abstract class A : HashSet, SequencedSet { + constructor() /* primary */ { + super/*HashSet*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class B : HashSet, SequencedSet { + constructor() /* primary */ { + super/*HashSet*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun spliterator(): Spliterator { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.addFirst(p0 = null) + a.reversed() /*~> Unit */ + b.reversed() /*~> Unit */ + b.addFirst(p0 = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..f724934b6f5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.sig.kt.txt @@ -0,0 +1,399 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : HashSet, SequencedSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedSet? + // Public signature: /A.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator + // Public signature: /A.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : HashSet, SequencedSet { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SequencedSet + // Public signature: /B.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator + // Public signature: /B.spliterator|5735513268042072608[0] + // Public signature debug description: spliterator(){}java.util.Spliterator + override fun spliterator(): Spliterator + + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* 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 + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..6465981c738 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.ir.txt @@ -0,0 +1,809 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.Set): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.Set?> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.Set + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet; kotlin.collections.Set]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.Set): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.Set?> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.Set + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SortedSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SortedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.MutableSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in kotlin.collections.MutableSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:addLast visibility:public modality:OPEN <> ($this:.D, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SortedSet? + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SortedSet? declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SortedSet declared in .B' type=java.util.SortedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .C' type=@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SortedSet? declared in .D' type=java.util.SortedSet? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addLast (e: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..8a196c2a554 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.fir.kt.txt @@ -0,0 +1,79 @@ +abstract class A : SortedSet, Set { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedSet, Set { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun first(): Int { + return 1 + } + + override fun reversed(): SortedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun addLast(e: Int?) { + } + + override fun reversed(): SortedSet? { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + a.getFirst() /*~> Unit */ + b.reversed() /*~> Unit */ + b.getFirst() /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + c.reversed() /*~> Unit */ + c.getFirst() /*~> Unit */ + d.reversed() /*~> Unit */ + d.addLast(e = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.ir.txt new file mode 100644 index 00000000000..c5981e2b808 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.ir.txt @@ -0,0 +1,817 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.Set): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.Set?> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.Set + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.Set] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in java.util.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + 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.SortedSet; kotlin.collections.Set]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.Set): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.Iterator declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.Set?> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.Set> declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?, p1:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.Set + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.Set + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:first visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun first (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.SortedSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SortedSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?, p1:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.MutableSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.util.SortedSet; kotlin.collections.MutableSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun add (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun addAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SortedSet + public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:comparator visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:@[FlexibleNullability] java.util.Comparator? [fake_override] + overridden: + public abstract fun comparator (): @[FlexibleNullability] java.util.Comparator? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun contains (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun containsAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + 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.SortedSet + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:first visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public abstract fun first (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SortedSet + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + 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.SortedSet + public open fun hashCode (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:headSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun headSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SortedSet + public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet) returnType:kotlin.collections.MutableIterator [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public abstract fun iterator (): kotlin.collections.MutableIterator declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + FUN FAKE_OVERRIDE name:last visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public abstract fun last (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, element:kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Boolean declared in java.util.SortedSet + public abstract fun remove (element: E of kotlin.collections.MutableSet): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:element index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun removeAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SortedSet + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SortedSet? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableSet, elements:kotlin.collections.Collection) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SortedSet?>): kotlin.Boolean declared in java.util.SortedSet + public abstract fun retainAll (elements: kotlin.collections.Collection): kotlin.Boolean declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableSet + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.SortedSet) returnType:@[EnhancedNullability] java.util.Spliterator [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.MutableSet?> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SortedSet?> declared in java.util.SortedSet + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of kotlin.collections.MutableSet> declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:subSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?, p1:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun subSet (p0: @[FlexibleNullability] E of java.util.SortedSet?, p1: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + VALUE_PARAMETER name:p1 index:1 type:kotlin.Int? + FUN FAKE_OVERRIDE name:tailSet visibility:public modality:ABSTRACT <> ($this:java.util.SortedSet, p0:kotlin.Int?) returnType:@[FlexibleNullability] java.util.SortedSet? [fake_override] + overridden: + public abstract fun tailSet (p0: @[FlexibleNullability] E of java.util.SortedSet?): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:java.util.SortedSet + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SortedSet + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in kotlin.collections.MutableSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>? + 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.SortedSet + public open fun toString (): kotlin.String declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:addLast visibility:public modality:OPEN <> ($this:.D, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SortedSet?): kotlin.Unit declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SortedSet? + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] E of java.util.SortedSet?>? declared in java.util.SortedSet + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SortedSet? declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract size: kotlin.Int + public abstract size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Set) 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.SortedSet + public abstract fun (): kotlin.Int declared in kotlin.collections.MutableSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Set + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .A' type=kotlin.Boolean origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SortedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SortedSet declared in .B' type=java.util.SortedSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun add (element: kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun remove (element: kotlin.Int?): kotlin.Boolean declared in .C' type=kotlin.Boolean origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + element: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addFirst (p0: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeFirst (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun removeLast (): kotlin.Int? declared in .C' type=kotlin.Int? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SortedSet? declared in .C' type=@[FlexibleNullability] java.util.SortedSet? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int? declared in .C' type=kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SortedSet? declared in .D' type=java.util.SortedSet? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addLast (e: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt new file mode 100644 index 00000000000..dc23aa6ad3a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt @@ -0,0 +1,55 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB + +// FILE: 1.kt +import java.util.* +abstract class A : SortedSet, Set + +abstract class B(override val size: Int) : SortedSet, Set { + override fun reversed(): SortedSet { + return null!! + } + + override fun first(): Int { + return 1 + } +} + +abstract class C : SortedSet, MutableSet + +abstract class D : SortedSet, MutableSet { + override fun reversed(): SortedSet? { + return null!! + } + + override fun addLast(e: Int?) { } +} + +fun test(a: A, b: B, c: C, d: D){ + a.size + a.add(1) + a.remove(1) + a.addFirst(1) + a.addLast(null) + a.removeFirst() + a.removeLast() + a.reversed() + a.first + + b.reversed() + b.first + + c.size + c.add(1) + c.remove(1) + c.addFirst(1) + c.addLast(null) + c.removeFirst() + c.removeLast() + c.reversed() + c.first + + d.reversed() + d.addLast(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt.txt new file mode 100644 index 00000000000..8a196c2a554 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt.txt @@ -0,0 +1,79 @@ +abstract class A : SortedSet, Set { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : SortedSet, Set { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun first(): Int { + return 1 + } + + override fun reversed(): SortedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class D : SortedSet, MutableSet { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun addLast(e: Int?) { + } + + override fun reversed(): SortedSet? { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.add(element = 1) /*~> Unit */ + a.remove(element = 1) /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + a.removeFirst() /*~> Unit */ + a.removeLast() /*~> Unit */ + a.reversed() /*~> Unit */ + a.getFirst() /*~> Unit */ + b.reversed() /*~> Unit */ + b.getFirst() /*~> Unit */ + c.() /*~> Unit */ + c.add(element = 1) /*~> Unit */ + c.remove(element = 1) /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + c.removeFirst() /*~> Unit */ + c.removeLast() /*~> Unit */ + c.reversed() /*~> Unit */ + c.getFirst() /*~> Unit */ + d.reversed() /*~> Unit */ + d.addLast(e = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..b4e5181ac39 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.sig.kt.txt @@ -0,0 +1,793 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : SortedSet, Set { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#comparator(){}java.util.Comparator? + // Public signature: /A.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#first(){}kotlin.Int? + // Public signature: /A.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator + // Public signature: /A.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: A#last(){}kotlin.Int? + // Public signature: /A.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /A.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SortedSet? + // Public signature: /A.reversed|1635831254240388891[0] + // Public signature debug description: reversed(){}java.util.SortedSet? + /* fake */ override fun reversed(): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /A.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : SortedSet, Set { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // 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|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // 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#iterator(){}kotlin.collections.MutableIterator + // Public signature: /B.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: B#last(){}kotlin.Int? + // Public signature: /B.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /B.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /B.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#first(){}kotlin.Int + // Public signature: /B.first|5275507350829413733[0] + // Public signature debug description: first(){}kotlin.Int + override fun first(): Int + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.SortedSet + // Public signature: /B.reversed|2964616891352091628[0] + // Public signature debug description: reversed(){}java.util.SortedSet + override fun reversed(): SortedSet + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : SortedSet, MutableSet { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#comparator(){}java.util.Comparator? + // Public signature: /C.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#first(){}kotlin.Int? + // Public signature: /C.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /C.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#last(){}kotlin.Int? + // Public signature: /C.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.SortedSet? + // Public signature: /C.reversed|1635831254240388891[0] + // Public signature debug description: reversed(){}java.util.SortedSet? + /* fake */ override fun reversed(): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /C.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /C.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : SortedSet, MutableSet { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#comparator(){}java.util.Comparator? + // Public signature: /D.comparator|1995639798623620652[0] + // Public signature debug description: comparator(){}java.util.Comparator? + abstract /* fake */ override fun comparator(): Comparator? + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#first(){}kotlin.Int? + // Public signature: /D.first|2217315793179538772[0] + // Public signature debug description: first(){}kotlin.Int? + abstract /* fake */ override fun first(): Int? + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int? + // Public signature: /D.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#headSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /D.headSet|-6503727393463747396[0] + // Public signature debug description: headSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun headSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#last(){}kotlin.Int? + // Public signature: /D.last|8461941190204264333[0] + // Public signature debug description: last(){}kotlin.Int? + abstract /* fake */ override fun last(): Int? + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + // Public signature: /D.subSet|6352807048107259190[0] + // Public signature debug description: subSet(kotlin.Int?;kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun subSet(p0: Int?, p1: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: D#tailSet(kotlin.Int?){}java.util.SortedSet? + // Public signature: /D.tailSet|6125985204554568995[0] + // Public signature debug description: tailSet(kotlin.Int?){}java.util.SortedSet? + abstract /* fake */ override fun tailSet(p0: Int?): SortedSet? + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + override fun addLast(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.SortedSet? + // Public signature: /D.reversed|1635831254240388891[0] + // Public signature debug description: reversed(){}java.util.SortedSet? + override fun reversed(): SortedSet? + + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.ir.txt new file mode 100644 index 00000000000..e48b1fde2eb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.ir.txt @@ -0,0 +1,1713 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) 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.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .A.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:newLinkedHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of .A.newLinkedHashSet?>? [fake_override] + overridden: + public open fun newLinkedHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newLinkedHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, 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.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A.toArray?>?>? + 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.collections.Collection + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + 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.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (p0: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) 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.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .B.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:newLinkedHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of .B.newLinkedHashSet?>? [fake_override] + overridden: + public open fun newLinkedHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newLinkedHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (p0: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, 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.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:retainAll 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 retainAll (p0: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.B.toArray?>?>? + 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + CALL 'public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedHashSet modality:OPEN visibility:public superTypes:[java.util.HashSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>; java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableSet]' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.addFirst' type=.B origin=null + p0: GET_VAR 'e: kotlin.Int? declared in .B.addFirst' type=kotlin.Int? origin=null + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.LinkedHashSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.LinkedHashSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .D.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.D [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.D.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.E.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java1) 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 .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.F.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.F) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.G.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SequencedSet) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.H.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.H) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .H' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + annotations: + Override + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.I.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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:.Java3) 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 .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.J.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.J) returnType:java.util.SequencedSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .J' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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:.Java3) 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 .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] @[EnhancedNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>?) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?>?): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.KotlinInterface.toArray?>?>? + 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.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.SequencedSet) 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.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.LinkedHashSet declared in .B' type=java.util.LinkedHashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .D' type=java.util.SequencedSet origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .F' type=java.util.SequencedSet origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .G' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .H' type=java.util.SequencedSet origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .H' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .I' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .I' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .J' type=java.util.SequencedSet origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.kt.txt new file mode 100644 index 00000000000..dbf88bd48be --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.kt.txt @@ -0,0 +1,179 @@ +abstract class A : LinkedHashSet { + constructor() /* primary */ { + super/*LinkedHashSet*/() + /* () */ + + } + +} + +abstract class B : LinkedHashSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*LinkedHashSet*/() + /* () */ + + } + + override fun addFirst(e: Int?) { + super.addFirst(p0 = e) + } + + override fun reversed(): LinkedHashSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class D : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getFirst(): Int { + return 1 + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class F : Java1, Java2 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class G : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class H : Java2, KotlinInterface { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class I : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class J : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : SequencedSet { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.reversed() /*~> Unit */ + a.getFirst() /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + b.reversed() /*~> Unit */ + b.getFirst() /*~> Unit */ + b.addFirst(e = 1) + b.addLast(p0 = null) + c.reversed() /*~> Unit */ + c.getFirst() /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + d.reversed() /*~> Unit */ + d.getFirst() /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(p0 = null) + e.reversed() /*~> Unit */ + e.getFirst() /*~> Unit */ + e.addFirst(p0 = 1) + e.addLast(p0 = null) + f.reversed() /*~> Unit */ + f.getFirst() /*~> Unit */ + f.addFirst(p0 = 1) + f.addLast(p0 = null) + g.reversed() /*~> Unit */ + g.getFirst() /*~> Unit */ + g.addFirst(p0 = 1) + g.addLast(p0 = null) + h.reversed() /*~> Unit */ + h.getFirst() /*~> Unit */ + h.addFirst(p0 = 1) + h.addLast(p0 = null) + i.reversed() /*~> Unit */ + i.getFirst() /*~> Unit */ + i.addFirst(p0 = 1) + i.addLast(p0 = null) + j.reversed() /*~> Unit */ + j.getFirst() /*~> Unit */ + j.addFirst(p0 = 1) + j.addLast(p0 = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..e2089dd50b5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.fir.sig.kt.txt @@ -0,0 +1,1843 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedHashSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.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: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.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: A#reversed(){}java.util.SequencedSet? + // Public signature: /A.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : LinkedHashSet { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(p0: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8388196230555083661[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(p0: @EnhancedNullability Collection): Boolean + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(p0: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(p0: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.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: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.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: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.LinkedHashSet + // Public signature: /B.reversed|3766013119794934162[0] + // Public signature debug description: reversed(){}java.util.LinkedHashSet + override fun reversed(): LinkedHashSet + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.SequencedSet? + // Public signature: /C.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1 { + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int + // Public signature: /D.getFirst|-3582553967177118624[0] + // Public signature debug description: getFirst(){}kotlin.Int + override fun getFirst(): Int + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.SequencedSet + // Public signature: /D.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#addFirst(kotlin.Int?){} + // Public signature: /E.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: E#addLast(kotlin.Int?){} + // Public signature: /E.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#getFirst(){}kotlin.Int? + // Public signature: /E.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: E#getLast(){}kotlin.Int? + // Public signature: /E.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeFirst(){}kotlin.Int? + // Public signature: /E.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeLast(){}kotlin.Int? + // Public signature: /E.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#reversed(){}java.util.SequencedSet? + // Public signature: /E.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /E.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /E.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java2 { + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#addFirst(kotlin.Int?){} + // Public signature: /F.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: F#addLast(kotlin.Int?){} + // Public signature: /F.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#getFirst(){}kotlin.Int? + // Public signature: /F.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: F#getLast(){}kotlin.Int? + // Public signature: /F.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeFirst(){}kotlin.Int? + // Public signature: /F.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeLast(){}kotlin.Int? + // Public signature: /F.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /F.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: F#reversed(){}java.util.SequencedSet + // Public signature: /F.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#addFirst(kotlin.Int?){} + // Public signature: /G.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: G#addLast(kotlin.Int?){} + // Public signature: /G.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#getFirst(){}kotlin.Int? + // Public signature: /G.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#getLast(){}kotlin.Int? + // Public signature: /G.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeFirst(){}kotlin.Int? + // Public signature: /G.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeLast(){}kotlin.Int? + // Public signature: /G.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#reversed(){}java.util.SequencedSet? + // Public signature: /G.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /G.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java2, KotlinInterface { + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#addFirst(kotlin.Int?){} + // Public signature: /H.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: H#addLast(kotlin.Int?){} + // Public signature: /H.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#getFirst(){}kotlin.Int? + // Public signature: /H.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: H#getLast(){}kotlin.Int? + // Public signature: /H.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator + // Public signature: /H.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeFirst(){}kotlin.Int? + // Public signature: /H.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeLast(){}kotlin.Int? + // Public signature: /H.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /H.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: H#reversed(){}java.util.SequencedSet + // Public signature: /H.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#addFirst(kotlin.Int?){} + // Public signature: /I.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: I#addLast(kotlin.Int?){} + // Public signature: /I.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#getFirst(){}kotlin.Int? + // Public signature: /I.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: I#getLast(){}kotlin.Int? + // Public signature: /I.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator + // Public signature: /I.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeFirst(){}kotlin.Int? + // Public signature: /I.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeLast(){}kotlin.Int? + // Public signature: /I.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#reversed(){}java.util.SequencedSet? + // Public signature: /I.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + @Override + /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /I.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: J#addFirst(kotlin.Int?){} + // Public signature: /J.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: J#addLast(kotlin.Int?){} + // Public signature: /J.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#getFirst(){}kotlin.Int? + // Public signature: /J.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: J#getLast(){}kotlin.Int? + // Public signature: /J.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator + // Public signature: /J.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeFirst(){}kotlin.Int? + // Public signature: /J.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeLast(){}kotlin.Int? + // Public signature: /J.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /J.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: J#reversed(){}java.util.SequencedSet + // Public signature: /J.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SequencedSet { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#addFirst(kotlin.Int?){} + // Public signature: /KotlinInterface.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#addLast(kotlin.Int?){} + // Public signature: /KotlinInterface.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getLast(){}kotlin.Int? + // Public signature: /KotlinInterface.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeLast(){}kotlin.Int? + // Public signature: /KotlinInterface.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#reversed(){}java.util.SequencedSet? + // Public signature: /KotlinInterface.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /KotlinInterface.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.ir.txt new file mode 100644 index 00000000000..68b4f95f25d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.ir.txt @@ -0,0 +1,1735 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) 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.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .A.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:newLinkedHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of .A.newLinkedHashSet?>? [fake_override] + overridden: + public open fun newLinkedHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newLinkedHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.A.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.A.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.A.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.A.toArray?>?>? + 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open size: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedHashSet' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[java.util.LinkedHashSet]' + FUN FAKE_OVERRIDE name:add visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun add (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun addAll (elements: @[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:@[EnhancedNullability] kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public open fun clear (): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] kotlin.Any [fake_override] + overridden: + public open fun clone (): @[EnhancedNullability] kotlin.Any declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun contains (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun containsAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, other:@[EnhancedNullability] kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: @[EnhancedNullability] kotlin.Any?): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:other index:0 type:@[EnhancedNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun isEmpty (): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) 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.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:newHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of .B.newHashSet?>? [fake_override] + overridden: + public open fun newHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.HashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:newLinkedHashSet visibility:public modality:OPEN (p0:kotlin.Int) returnType:@[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of .B.newLinkedHashSet?>? [fake_override] + overridden: + public open fun newLinkedHashSet (p0: kotlin.Int): @[FlexibleNullability] java.util.LinkedHashSet<@[FlexibleNullability] T of java.util.LinkedHashSet.newLinkedHashSet?>? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + VALUE_PARAMETER name:p0 index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, element:@[EnhancedNullability] kotlin.Int) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun remove (element: @[EnhancedNullability] E of java.util.LinkedHashSet): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[EnhancedNullability] kotlin.Int + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:OPEN <> ($this:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.LinkedHashSet? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:OPEN <> ($this:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int>) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun retainAll (elements: kotlin.collections.Collection<@[EnhancedNullability] E of java.util.LinkedHashSet>): kotlin.Boolean declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[EnhancedNullability] kotlin.Int> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.LinkedHashSet) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.LinkedHashSet?> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.LinkedHashSet + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] kotlin.Int> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] E of java.util.LinkedHashSet> declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun toArray (): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:java.util.HashSet<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Array.B.toArray?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + overridden: + public open fun toArray (p0: @[FlexibleNullability] kotlin.Array?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:java.util.HashSet<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Array.B.toArray?>? + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.B.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.LinkedHashSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.B.toArray?>?>? + 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.LinkedHashSet + $this: VALUE_PARAMETER name: type:java.util.AbstractCollection<@[FlexibleNullability] kotlin.Int?> + FUN name:addFirst visibility:public modality:OPEN <> ($this:.B, e:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:e index:0 type:kotlin.Int? + BLOCK_BODY + CALL 'public open fun addFirst (p0: @[FlexibleNullability] E of java.util.LinkedHashSet?): kotlin.Unit declared in java.util.LinkedHashSet' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:LinkedHashSet modality:OPEN visibility:public superTypes:[java.util.HashSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>; java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>; kotlin.Cloneable; java.io.Serializable; kotlin.collections.MutableSet]' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.addFirst' type=.B origin=null + p0: GET_VAR 'e: kotlin.Int? declared in .B.addFirst' type=kotlin.Int? origin=null + FUN name:reversed visibility:public modality:OPEN <> ($this:.B) returnType:java.util.LinkedHashSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.LinkedHashSet?>? declared in java.util.LinkedHashSet + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.LinkedHashSet declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.C.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.C.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .D.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.D [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.D.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.D.toArray?>?>? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:getFirst visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getFirst (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:reversed visibility:public modality:OPEN <> ($this:.D) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.E.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.E.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.E.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.F.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.F.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java1.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java1.toArray?>? declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.F.toArray?>?>? + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.F) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.G.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.G.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.G.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract size: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'size: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> (size:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:size index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java2]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.H.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.H.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>?): @[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>? declared in .KotlinInterface + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.H.toArray?>?>? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.H) returnType:java.util.SequencedSet + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .KotlinInterface + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .H' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:OPEN <> ($this:.Java3) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + annotations: + Override + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.I.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.I.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.I.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] kotlin.Int?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.J.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.J.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.Java3.toArray?>?>?): @[FlexibleNullability] kotlin.Array.Java3.toArray?>? declared in .Java3 + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.J.toArray?>?>? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:reversed visibility:public modality:OPEN <> ($this:.J) returnType:java.util.SequencedSet + overridden: + public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun reversed (): java.util.SequencedSet declared in .J' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[java.util.SequencedSet] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun add (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun addAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:addFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addFirst (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:addLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun addLast (p0: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun clear (): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public abstract fun contains (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun containsAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + 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.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.Consumer?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer? + FUN FAKE_OVERRIDE name:getFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:getLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun getLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] 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 java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun isEmpty (): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.collections.MutableIterator<@[FlexibleNullability] kotlin.Int?> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.MutableIterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, element:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun remove (element: @[FlexibleNullability] E of java.util.SequencedSet?): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:element index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun removeAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeFirst visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeFirst (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, p0:@[EnhancedNullability] java.util.function.Predicate) returnType:kotlin.Boolean [fake_override] + overridden: + public open fun removeIf (p0: @[EnhancedNullability] java.util.function.Predicate): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.Predicate + FUN FAKE_OVERRIDE name:removeLast visibility:public modality:OPEN <> ($this:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun removeLast (): @[FlexibleNullability] E of java.util.SequencedSet? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedCollection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?>, elements:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:kotlin.Boolean [fake_override] + overridden: + public abstract fun retainAll (elements: kotlin.collections.Collection<@[FlexibleNullability] E of java.util.SequencedSet?>): kotlin.Boolean declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableCollection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:reversed visibility:public modality:ABSTRACT <> ($this:java.util.SequencedSet) returnType:@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] E of java.util.SequencedSet?>? declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:java.util.SequencedSet + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>) returnType:@[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] kotlin.Int?> [fake_override] + overridden: + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[EnhancedNullability] @[FlexibleNullability] E of java.util.SequencedSet?> declared in java.util.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN ($this:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?>, p0:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>?) returnType:@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>? [fake_override] + annotations: + Deprecated(message = "This member is not fully supported by Kotlin compiler, so it may be absent or have different signature in next major version", replaceWith = ReplaceWith(expression = "", imports = []), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + overridden: + public open fun toArray (p0: @[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array?>?): @[FlexibleNullability] kotlin.Array? declared in java.util.SequencedSet + TYPE_PARAMETER name:T index:0 variance: superTypes:[@[FlexibleNullability] kotlin.Any?] reified:false + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.IntFunction<@[FlexibleNullability] kotlin.Array.KotlinInterface.toArray?>?>? + 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.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.Any + 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.Collection<@[FlexibleNullability] kotlin.Int?>) 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.SequencedSet + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection<@[FlexibleNullability] kotlin.Int?> + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.LinkedHashSet declared in .B' type=java.util.LinkedHashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun addFirst (e: kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .C' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .C' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .D' type=java.util.SequencedSet origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .E' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .F' type=java.util.SequencedSet origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .G' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .H' type=java.util.SequencedSet origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .H' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): @[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? declared in .I' type=@[FlexibleNullability] java.util.SequencedSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .I' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + p0: CONST Null type=kotlin.Nothing? value=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun reversed (): java.util.SequencedSet declared in .J' type=java.util.SequencedSet origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun getFirst (): @[FlexibleNullability] kotlin.Int? declared in .J' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun addFirst (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Int type=kotlin.Int value=1 + CALL 'public open fun addLast (p0: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + p0: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt new file mode 100644 index 00000000000..5c3df90868a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt @@ -0,0 +1,132 @@ +// TARGET_BACKEND: JVM +// JDK_KIND: FULL_JDK_21 +// WITH_STDLIB +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63914, KT-65219 + +// FILE: Java1.java +import java.util.SequencedSet; + +public abstract class Java1 implements SequencedSet { } + +// FILE: Java2.java +import java.util.SequencedCollection; +public interface Java2 { + SequencedCollection reversed(); +} + +// FILE: Java3.java +import java.util.SequencedSet; + +public abstract class Java3 implements KotlinInterface { + + @Override + public SequencedSet reversed() { + return null; + } +} + +// FILE: 1.kt +import java.util.* + +abstract class A: LinkedHashSet() + +abstract class B(override val size: Int) : LinkedHashSet() { + override fun reversed(): LinkedHashSet { + return null!! + } + + override fun addFirst(e: Int?) { + super.addFirst(e) + } +} + +abstract class C : Java1() // Kotlin ← Java1 ← Java2 + +abstract class D(override val size: Int) : Java1() { + override fun reversed(): SequencedSet { + return null!! + } + + override fun getFirst(): Int { + return 1 + } +} + +abstract class E : Java1(), Java2 //Kotlin ← Java1, Java2 ← Java3 + +abstract class F(override val size: Int) : Java1(), Java2 { + override fun reversed(): SequencedSet { + return null!! + } +} + +abstract class G: KotlinInterface, Java2 //Kotlin ← Java, Kotlin2 ← Java2 + +abstract class H(override val size: Int) : KotlinInterface, Java2 { + override fun reversed(): SequencedSet { + return null!! + } +} + +abstract class I : Java3() //Kotlin ← Java ← Kotlin ← Java + +abstract class J : Java3() { + override fun reversed(): SequencedSet { + return null!! + } +} + +interface KotlinInterface : SequencedSet + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.reversed() + a.first + a.addFirst(1) + a.addLast(null) + + b.reversed() + b.first + b.addFirst(1) + b.addLast(null) + + c.reversed() + c.first + c.addFirst(1) + c.addLast(null) + + d.reversed() + d.first + d.addFirst(1) + d.addLast(null) + + e.reversed() + e.first + e.addFirst(1) + e.addLast(null) + + f.reversed() + f.first + f.addFirst(1) + f.addLast(null) + + g.reversed() + g.first + g.addFirst(1) + g.addLast(null) + + h.reversed() + h.first + h.addFirst(1) + h.addLast(null) + + i.reversed() + i.first + i.addFirst(1) + i.addLast(null) + + j.reversed() + j.first + j.addFirst(1) + j.addLast(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt.txt new file mode 100644 index 00000000000..b6262dfd9bf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt.txt @@ -0,0 +1,179 @@ +abstract class A : LinkedHashSet { + constructor() /* primary */ { + super/*LinkedHashSet*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +abstract class B : LinkedHashSet { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*LinkedHashSet*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun addFirst(e: Int?) { + super.addFirst(p0 = e) + } + + override fun reversed(): LinkedHashSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class D : Java1 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun getFirst(): Int { + return 1 + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class F : Java1, Java2 { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class G : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class H : Java2, KotlinInterface { + override val size: Int + field = size + override get + + constructor(size: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class I : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class J : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun reversed(): SequencedSet { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : SequencedSet { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.reversed() /*~> Unit */ + a.getFirst() /*~> Unit */ + a.addFirst(p0 = 1) + a.addLast(p0 = null) + b.reversed() /*~> Unit */ + b.getFirst() /*~> Unit */ + b.addFirst(e = 1) + b.addLast(p0 = null) + c.reversed() /*~> Unit */ + c.getFirst() /*~> Unit */ + c.addFirst(p0 = 1) + c.addLast(p0 = null) + d.reversed() /*~> Unit */ + d.getFirst() /*~> Unit */ + d.addFirst(p0 = 1) + d.addLast(p0 = null) + e.reversed() /*~> Unit */ + e.getFirst() /*~> Unit */ + e.addFirst(p0 = 1) + e.addLast(p0 = null) + f.reversed() /*~> Unit */ + f.getFirst() /*~> Unit */ + f.addFirst(p0 = 1) + f.addLast(p0 = null) + g.reversed() /*~> Unit */ + g.getFirst() /*~> Unit */ + g.addFirst(p0 = 1) + g.addLast(p0 = null) + h.reversed() /*~> Unit */ + h.getFirst() /*~> Unit */ + h.addFirst(p0 = 1) + h.addLast(p0 = null) + i.reversed() /*~> Unit */ + i.getFirst() /*~> Unit */ + i.addFirst(p0 = 1) + i.addLast(p0 = null) + j.reversed() /*~> Unit */ + j.getFirst() /*~> Unit */ + j.addFirst(p0 = 1) + j.addLast(p0 = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.sig.kt.txt new file mode 100644 index 00000000000..30db817ff40 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.sig.kt.txt @@ -0,0 +1,1843 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : LinkedHashSet { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: A#addFirst(kotlin.Int?){} + // Public signature: /A.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: A#addLast(kotlin.Int?){} + // Public signature: /A.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: A#clear(){} + // Public signature: /A.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: A#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /A.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: A#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: A#forEach(java.util.function.Consumer?){} + // Public signature: /A.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getFirst(){}kotlin.Int? + // Public signature: /A.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#getLast(){}kotlin.Int? + // Public signature: /A.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#hashCode(){}kotlin.Int + // Public signature: /A.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: A#isEmpty(){}kotlin.Boolean + // Public signature: /A.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: A#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /A.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: A#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeFirst(){}kotlin.Int? + // Public signature: /A.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: A#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /A.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: A#removeLast(){}kotlin.Int? + // Public signature: /A.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: A#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /A.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: A#reversed(){}java.util.SequencedSet? + // Public signature: /A.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: A#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /A.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: A#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /A.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: A#toArray(){}kotlin.Array? + // Public signature: /A.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /A.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /A.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: A#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /A.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: A{}size + // Public signature: /A.size|-6253659984320132064[0] + // Public signature debug description: {}size + /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : LinkedHashSet { + // CHECK: + // Mangled name: B{}size + // Public signature: /B.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.add|7559962077055454748[0] + // Public signature debug description: add(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun add(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.addAll|-8818439124580844723[0] + // Public signature debug description: addAll(kotlin.collections.Collection{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Int>): Boolean + + // CHECK: + // Mangled name: B#addLast(kotlin.Int?){} + // Public signature: /B.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: B#clear(){} + // Public signature: /B.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: B#clone(){}kotlin.Any{EnhancedNullability} + // Public signature: /B.clone|178802004086941196[0] + // Public signature debug description: clone(){}kotlin.Any{EnhancedNullability} + /* fake */ override fun clone(): @EnhancedNullability Any + + // CHECK JVM_IR: + // Mangled name: B#contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.contains|3736388240191289860[0] + // Public signature debug description: contains(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun contains(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.containsAll|-6765067201579764726[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun containsAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.equals|4126616015386471185[0] + // Public signature debug description: equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean + /* fake */ override operator fun equals(other: @EnhancedNullability Any?): Boolean + + // CHECK: + // Mangled name: B#forEach(java.util.function.Consumer?){} + // Public signature: /B.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getFirst(){}kotlin.Int? + // Public signature: /B.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#getLast(){}kotlin.Int? + // Public signature: /B.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#hashCode(){}kotlin.Int + // Public signature: /B.hashCode|-8048879360829830756[0] + // Public signature debug description: hashCode(){}kotlin.Int + /* fake */ override fun hashCode(): Int + + // CHECK JVM_IR: + // Mangled name: B#isEmpty(){}kotlin.Boolean + // Public signature: /B.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: B#iterator(){}kotlin.collections.MutableIterator{EnhancedNullability} + // Public signature: /B.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: B#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.parallelStream|7878330035109535908[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.remove|2933193249427016334[0] + // Public signature debug description: remove(kotlin.Int{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun remove(element: @EnhancedNullability Int): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.removeAll|-5493620261823900507[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeFirst(){}kotlin.Int? + // Public signature: /B.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: B#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /B.removeIf|-1099538878717265414[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: B#removeLast(){}kotlin.Int? + // Public signature: /B.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: B#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /B.retainAll|-3550913358824719637[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + /* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Int>): Boolean + + // CHECK JVM_IR: + // Mangled name: B#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /B.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: B#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /B.stream|5410141522529844650[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int> + + // CHECK JVM_IR: + // Mangled name: B#toArray(){}kotlin.Array? + // Public signature: /B.toArray|-8468800257910341540[0] + // Public signature debug description: toArray(){}kotlin.Array? + /* fake */ override fun toArray(): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(kotlin.Array?){0§}kotlin.Array? + // Public signature: /B.toArray|-7248906015406159030[0] + // Public signature debug description: toArray(kotlin.Array?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: Array?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /B.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: B#toString(){}kotlin.String{EnhancedNullability} + // Public signature: /B.toString|7581629773206850948[0] + // Public signature debug description: toString(){}kotlin.String{EnhancedNullability} + /* fake */ override fun toString(): @EnhancedNullability String + + // CHECK: + // Mangled name: B#addFirst(kotlin.Int?){} + // Public signature: /B.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + override fun addFirst(e: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#reversed(){}java.util.LinkedHashSet + // Public signature: /B.reversed|3766013119794934162[0] + // Public signature debug description: reversed(){}java.util.LinkedHashSet + override fun reversed(): LinkedHashSet + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#addFirst(kotlin.Int?){} + // Public signature: /C.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: C#addLast(kotlin.Int?){} + // Public signature: /C.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: C#clear(){} + // Public signature: /C.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: C#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: C#forEach(java.util.function.Consumer?){} + // Public signature: /C.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getFirst(){}kotlin.Int? + // Public signature: /C.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#getLast(){}kotlin.Int? + // Public signature: /C.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#isEmpty(){}kotlin.Boolean + // Public signature: /C.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: C#iterator(){}kotlin.collections.MutableIterator + // Public signature: /C.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: C#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /C.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeFirst(){}kotlin.Int? + // Public signature: /C.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: C#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /C.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: C#removeLast(){}kotlin.Int? + // Public signature: /C.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: C#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /C.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: C#reversed(){}java.util.SequencedSet? + // Public signature: /C.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: C#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /C.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: C#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /C.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: C#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /C.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: C{}size + // Public signature: /C.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1 { + // CHECK: + // Mangled name: D{}size + // Public signature: /D.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#addFirst(kotlin.Int?){} + // Public signature: /D.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: D#addLast(kotlin.Int?){} + // Public signature: /D.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: D#clear(){} + // Public signature: /D.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: D#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: D#forEach(java.util.function.Consumer?){} + // Public signature: /D.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getLast(){}kotlin.Int? + // Public signature: /D.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#isEmpty(){}kotlin.Boolean + // Public signature: /D.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: D#iterator(){}kotlin.collections.MutableIterator + // Public signature: /D.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: D#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /D.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeFirst(){}kotlin.Int? + // Public signature: /D.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: D#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /D.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: D#removeLast(){}kotlin.Int? + // Public signature: /D.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: D#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /D.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: D#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /D.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: D#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /D.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: D#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /D.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: D#getFirst(){}kotlin.Int + // Public signature: /D.getFirst|-3582553967177118624[0] + // Public signature debug description: getFirst(){}kotlin.Int + override fun getFirst(): Int + + // CHECK JVM_IR: + // Mangled name: D#reversed(){}java.util.SequencedSet + // Public signature: /D.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#addFirst(kotlin.Int?){} + // Public signature: /E.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: E#addLast(kotlin.Int?){} + // Public signature: /E.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: E#clear(){} + // Public signature: /E.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: E#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: E#forEach(java.util.function.Consumer?){} + // Public signature: /E.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: E#getFirst(){}kotlin.Int? + // Public signature: /E.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: E#getLast(){}kotlin.Int? + // Public signature: /E.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#isEmpty(){}kotlin.Boolean + // Public signature: /E.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: E#iterator(){}kotlin.collections.MutableIterator + // Public signature: /E.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: E#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /E.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeFirst(){}kotlin.Int? + // Public signature: /E.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: E#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /E.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: E#removeLast(){}kotlin.Int? + // Public signature: /E.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: E#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /E.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: E#reversed(){}java.util.SequencedSet? + // Public signature: /E.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: E#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /E.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: E#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /E.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: E#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /E.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: E{}size + // Public signature: /E.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java2 { + // CHECK: + // Mangled name: F{}size + // Public signature: /F.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#addFirst(kotlin.Int?){} + // Public signature: /F.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: F#addLast(kotlin.Int?){} + // Public signature: /F.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: F#clear(){} + // Public signature: /F.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: F#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: F#forEach(java.util.function.Consumer?){} + // Public signature: /F.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: F#getFirst(){}kotlin.Int? + // Public signature: /F.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: F#getLast(){}kotlin.Int? + // Public signature: /F.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#isEmpty(){}kotlin.Boolean + // Public signature: /F.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: F#iterator(){}kotlin.collections.MutableIterator + // Public signature: /F.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: F#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /F.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeFirst(){}kotlin.Int? + // Public signature: /F.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: F#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /F.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: F#removeLast(){}kotlin.Int? + // Public signature: /F.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: F#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /F.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: F#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /F.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: F#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /F.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: F#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /F.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: F#reversed(){}java.util.SequencedSet + // Public signature: /F.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#addFirst(kotlin.Int?){} + // Public signature: /G.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: G#addLast(kotlin.Int?){} + // Public signature: /G.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: G#clear(){} + // Public signature: /G.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: G#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: G#forEach(java.util.function.Consumer?){} + // Public signature: /G.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: G#getFirst(){}kotlin.Int? + // Public signature: /G.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#getLast(){}kotlin.Int? + // Public signature: /G.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#isEmpty(){}kotlin.Boolean + // Public signature: /G.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: G#iterator(){}kotlin.collections.MutableIterator + // Public signature: /G.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: G#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /G.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeFirst(){}kotlin.Int? + // Public signature: /G.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: G#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /G.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: G#removeLast(){}kotlin.Int? + // Public signature: /G.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: G#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /G.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: G#reversed(){}java.util.SequencedSet? + // Public signature: /G.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: G#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /G.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: G#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /G.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: G#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /G.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: G{}size + // Public signature: /G.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java2, KotlinInterface { + // CHECK: + // Mangled name: H{}size + // Public signature: /H.size|-6253659984320132064[0] + // Public signature debug description: {}size + override val size: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(size: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#addFirst(kotlin.Int?){} + // Public signature: /H.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: H#addLast(kotlin.Int?){} + // Public signature: /H.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: H#clear(){} + // Public signature: /H.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: H#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: H#forEach(java.util.function.Consumer?){} + // Public signature: /H.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: H#getFirst(){}kotlin.Int? + // Public signature: /H.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: H#getLast(){}kotlin.Int? + // Public signature: /H.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: H#isEmpty(){}kotlin.Boolean + // Public signature: /H.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: H#iterator(){}kotlin.collections.MutableIterator + // Public signature: /H.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: H#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /H.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeFirst(){}kotlin.Int? + // Public signature: /H.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: H#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /H.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: H#removeLast(){}kotlin.Int? + // Public signature: /H.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: H#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /H.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: H#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /H.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: H#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /H.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: H#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /H.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: H#reversed(){}java.util.SequencedSet + // Public signature: /H.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#addFirst(kotlin.Int?){} + // Public signature: /I.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: I#addLast(kotlin.Int?){} + // Public signature: /I.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: I#clear(){} + // Public signature: /I.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: I#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: I#forEach(java.util.function.Consumer?){} + // Public signature: /I.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: I#getFirst(){}kotlin.Int? + // Public signature: /I.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: I#getLast(){}kotlin.Int? + // Public signature: /I.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: I#isEmpty(){}kotlin.Boolean + // Public signature: /I.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: I#iterator(){}kotlin.collections.MutableIterator + // Public signature: /I.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: I#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /I.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeFirst(){}kotlin.Int? + // Public signature: /I.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: I#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /I.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: I#removeLast(){}kotlin.Int? + // Public signature: /I.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: I#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /I.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: I#reversed(){}java.util.SequencedSet? + // Public signature: /I.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + @Override + /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: I#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /I.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: I#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /I.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: I#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /I.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: I{}size + // Public signature: /I.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +abstract class J : Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: J#addFirst(kotlin.Int?){} + // Public signature: /J.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: J#addLast(kotlin.Int?){} + // Public signature: /J.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: J#clear(){} + // Public signature: /J.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: J#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: J#forEach(java.util.function.Consumer?){} + // Public signature: /J.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: J#getFirst(){}kotlin.Int? + // Public signature: /J.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: J#getLast(){}kotlin.Int? + // Public signature: /J.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: J#isEmpty(){}kotlin.Boolean + // Public signature: /J.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: J#iterator(){}kotlin.collections.MutableIterator + // Public signature: /J.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: J#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /J.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeFirst(){}kotlin.Int? + // Public signature: /J.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: J#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /J.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: J#removeLast(){}kotlin.Int? + // Public signature: /J.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: J#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /J.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: J#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /J.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: J#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /J.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: J#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /J.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK JVM_IR: + // Mangled name: J#reversed(){}java.util.SequencedSet + // Public signature: /J.reversed|-4413749268436593978[0] + // Public signature debug description: reversed(){}java.util.SequencedSet + override fun reversed(): SequencedSet + + // CHECK: + // Mangled name: J{}size + // Public signature: /J.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : SequencedSet { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#add(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.add|4431728113375961098[0] + // Public signature debug description: add(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun add(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#addAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.addAll|-1888139159157516243[0] + // Public signature debug description: addAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun addAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#addFirst(kotlin.Int?){} + // Public signature: /KotlinInterface.addFirst|-2173470440078379794[0] + // Public signature debug description: addFirst(kotlin.Int?){} + /* fake */ override fun addFirst(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#addLast(kotlin.Int?){} + // Public signature: /KotlinInterface.addLast|-5644727607669257675[0] + // Public signature debug description: addLast(kotlin.Int?){} + /* fake */ override fun addLast(p0: Int?): Unit + + // CHECK: + // Mangled name: KotlinInterface#clear(){} + // Public signature: /KotlinInterface.clear|-6446868449915108923[0] + // Public signature debug description: clear(){} + abstract /* fake */ override fun clear(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#contains(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.contains|-8196452098964035048[0] + // Public signature debug description: contains(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override operator fun contains(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#containsAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.containsAll|1478304594638728547[0] + // Public signature debug description: containsAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun containsAll(elements: Collection): Boolean + + // CHECK: + // Mangled name: KotlinInterface#forEach(java.util.function.Consumer?){} + // Public signature: /KotlinInterface.forEach|5766969768772302175[0] + // Public signature debug description: forEach(java.util.function.Consumer?){} + /* fake */ override fun forEach(p0: Consumer?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.getFirst|-7242180087307551226[0] + // Public signature debug description: getFirst(){}kotlin.Int? + /* fake */ override fun getFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#getLast(){}kotlin.Int? + // Public signature: /KotlinInterface.getLast|9162126560290473313[0] + // Public signature debug description: getLast(){}kotlin.Int? + /* fake */ override fun getLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#isEmpty(){}kotlin.Boolean + // Public signature: /KotlinInterface.isEmpty|-626562167393617703[0] + // Public signature debug description: isEmpty(){}kotlin.Boolean + abstract /* fake */ override fun isEmpty(): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#iterator(){}kotlin.collections.MutableIterator + // Public signature: /KotlinInterface.iterator|7348807180272176918[0] + // Public signature debug description: iterator(){}kotlin.collections.MutableIterator + abstract /* fake */ override operator fun iterator(): MutableIterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#parallelStream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.parallelStream|-8395108522211591010[0] + // Public signature debug description: parallelStream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#remove(kotlin.Int?){}kotlin.Boolean + // Public signature: /KotlinInterface.remove|-1581589590417291461[0] + // Public signature debug description: remove(kotlin.Int?){}kotlin.Boolean + abstract /* fake */ override fun remove(element: Int?): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.removeAll|-1419204743558010628[0] + // Public signature debug description: removeAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun removeAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeFirst(){}kotlin.Int? + // Public signature: /KotlinInterface.removeFirst|2188100118001713249[0] + // Public signature debug description: removeFirst(){}kotlin.Int? + /* fake */ override fun removeFirst(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + // Public signature: /KotlinInterface.removeIf|-6050971756324174635[0] + // Public signature debug description: removeIf(java.util.function.Predicate{EnhancedNullability}){}kotlin.Boolean + /* fake */ override fun removeIf(p0: @EnhancedNullability Predicate): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#removeLast(){}kotlin.Int? + // Public signature: /KotlinInterface.removeLast|-8509429199438418208[0] + // Public signature debug description: removeLast(){}kotlin.Int? + /* fake */ override fun removeLast(): Int? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#retainAll(kotlin.collections.Collection){}kotlin.Boolean + // Public signature: /KotlinInterface.retainAll|806199027664005128[0] + // Public signature debug description: retainAll(kotlin.collections.Collection){}kotlin.Boolean + abstract /* fake */ override fun retainAll(elements: Collection): Boolean + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#reversed(){}java.util.SequencedSet? + // Public signature: /KotlinInterface.reversed|687960305119769538[0] + // Public signature debug description: reversed(){}java.util.SequencedSet? + abstract /* fake */ override fun reversed(): SequencedSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#spliterator(){}java.util.Spliterator{EnhancedNullability} + // Public signature: /KotlinInterface.spliterator|-3709449862893660489[0] + // Public signature debug description: spliterator(){}java.util.Spliterator{EnhancedNullability} + /* fake */ override fun spliterator(): @EnhancedNullability Spliterator + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#stream(){}java.util.stream.Stream{EnhancedNullability} + // Public signature: /KotlinInterface.stream|1565529915260485250[0] + // Public signature debug description: stream(){}java.util.stream.Stream{EnhancedNullability} + /* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Int?> + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + // Public signature: /KotlinInterface.toArray|-1022881482544918047[0] + // Public signature debug description: toArray(java.util.function.IntFunction?>?){0§}kotlin.Array? + /* fake */ override fun toArray(p0: IntFunction?>?): Array? + + // CHECK: + // Mangled name: KotlinInterface{}size + // Public signature: /KotlinInterface.size|-6253659984320132064[0] + // Public signature debug description: {}size + abstract /* fake */ override val size: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.size.|-3941649985161900780[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.ir.txt new file mode 100644 index 00000000000..5c96d1caf10 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.ir.txt @@ -0,0 +1,101 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, t:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public abstract fun bar (): @[FlexibleNullability] kotlin.String? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.String declared in .C' + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.String) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.String + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + VAR name:k type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public abstract fun bar (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST String type=kotlin.String value="" + CALL 'public abstract fun foo (t: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Null type=kotlin.Nothing? value=null + VAR name:k2 type:kotlin.String [val] + CALL 'public open fun bar (): kotlin.String declared in .C' type=kotlin.String origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.String): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt new file mode 100644 index 00000000000..8da719ab2dc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt @@ -0,0 +1,38 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 { + public static int a = 2; + public static void foo(Object t) { } + public static Object bar() { + return null; + } +} +// FILE: Java2.java +public interface Java2 { + public int a = 2; + public void foo(String t); + public String bar(); +} + +// FILE: 1.kt + +abstract class B : Java1(), Java2 + +class C : Java1(), Java2 { + override fun foo(t: String) {} + + override fun bar(): String { + return "" + } +} + +fun test(b: B, c: C) { + val k: String = b.bar() + b.foo("") + b.foo(null) + val k2: String = c.bar() + c.foo("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt.txt new file mode 100644 index 00000000000..a55c7eab8ae --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt.txt @@ -0,0 +1,32 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): String { + return "" + } + + override fun foo(t: String) { + } + +} + +fun test(b: B, c: C) { + val k: String = b.bar() /*!! String */ + b.foo(t = "") + b.foo(t = null) + val k2: String = c.bar() + c.foo(t = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.sig.kt.txt new file mode 100644 index 00000000000..32b98d96743 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.sig.kt.txt @@ -0,0 +1,53 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String? + // Public signature: /B.bar|-8496476735448691706[0] + // Public signature debug description: bar(){}kotlin.String? + abstract /* fake */ override fun bar(): String? + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + abstract /* fake */ override fun foo(t: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.String + // Public signature: /C.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + override fun bar(): String + + // CHECK: + // Mangled name: C#foo(kotlin.String){} + // Public signature: /C.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + override fun foo(t: String): Unit + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.ir.txt new file mode 100644 index 00000000000..283a7133426 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.ir.txt @@ -0,0 +1,151 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt new file mode 100644 index 00000000000..15d95551631 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt @@ -0,0 +1,36 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public static int a = 2; + public static void foo(Object t) { } + public static Object bar() { + return null; + } +} +// FILE: test.kt + +abstract class A : Java1(), KotlinInterface + +class B(override val a: Int) : Java1(), KotlinInterface { + override fun foo(t: Int) { } + override fun bar(): Int { + return 1 + } +} + +interface KotlinInterface { + val a : Int + fun foo(t: Int) + fun bar(): Int +} + +fun test(a: A, b: B){ + a.a + a.foo(1) + a.bar() + b.a + b.foo(1) + b.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt.txt new file mode 100644 index 00000000000..968c21657e7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt.txt @@ -0,0 +1,47 @@ +abstract class A : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, KotlinInterface { + override val a: Int + field = a + override get + + constructor(a: Int) /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int) { + } + +} + +interface KotlinInterface { + abstract fun bar(): Int + + abstract fun foo(t: Int) + + abstract val a: Int + abstract get + +} + +fun test(a: A, b: B) { + a.() /*~> Unit */ + a.foo(t = 1) + a.bar() /*~> Unit */ + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.sig.kt.txt new file mode 100644 index 00000000000..1e19eb4f3d5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.sig.kt.txt @@ -0,0 +1,104 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, KotlinInterface { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int + // Public signature: /A.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + abstract /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: A#foo(kotlin.Int){} + // Public signature: /A.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, KotlinInterface { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.Int + // Public signature: /KotlinInterface.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + abstract fun bar(): Int + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract fun foo(t: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..114b48db39f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,767 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + public abstract fun (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + public abstract fun bar (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java4]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.G, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.G, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + public abstract fun (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.Int declared in .H.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + public abstract fun bar (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java5; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java5; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java5 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java5 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.J, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java5; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java5; .Java3]' + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java5 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java5; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java5; .Java3]' + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java5 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .KotlinInterface' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, t:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + t: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..4a1013837b6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,230 @@ +abstract class A : Java2, Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2, Java1, KotlinInterface { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int { + return 5 + } + + override fun foo(t: Int) { + } + +} + +class C : Java1, KotlinInterface, KotlinInterface2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Any) { + } + +} + +class D : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Int) { + } + +} + +abstract class F : Java1, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class G : Java1, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + + override var a: Int + override get(): Int { + return 10 + } + override set(value: Int) { + } + +} + +class H : Java4, KotlinInterface2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Any) { + } + + override fun foo(t: Int) { + } + +} + +abstract class I : Java5, KotlinInterface { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5, KotlinInterface { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override var a: Int + override get(): Int { + return 10 + } + override set(value: Int) { + } + +} + +class K : Java5, Java3 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class L : Java5, Java3 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo(t: Int) { + } + +} + +interface KotlinInterface { + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(): Any + + abstract fun foo(t: Any) + + abstract val a: Any + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.() /*~> Unit */ + a.foo(t = 1) + a.bar() /*~> Unit */ + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + c.() /*~> Unit */ + c.foo(t = 1) + c.foo(t = "") + c.bar() /*~> Unit */ + d.foo(t = 1) + e.foo(t = 1) + f.() /*~> Unit */ + f.foo(t = 1) + f.bar() /*~> Unit */ + g.() /*~> Unit */ + g.foo(t = 1) + g.bar() /*~> Unit */ + h.() /*~> Unit */ + h.foo(t = 1) + h.foo(t = "") + h.bar() /*~> Unit */ + i.() /*~> Unit */ + i.foo(t = 1) + i.bar() /*~> Unit */ + j.() /*~> Unit */ + j.foo(t = 1) + j.bar() /*~> Unit */ + k.foo(t = 1) + l.foo(t = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..96b5584bdb5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,767 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .B.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.B [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + public abstract fun (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + public abstract fun bar (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public/*package*/ modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public/*package*/ open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> (t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type: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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .Java4]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.G, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.G, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Any + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + public abstract fun (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.Int declared in .H.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4; .KotlinInterface2]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java4 + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + public abstract fun bar (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java5; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java5; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java5 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $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:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java5 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=10 + FUN name: visibility:public modality:OPEN <> ($this:.J, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java5; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java5; .Java3]' + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java3, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java5 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java5; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java5; .Java3]' + 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 .Java5 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java5 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .KotlinInterface' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, t:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type:kotlin.Any + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + t: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..41f9948182d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt @@ -0,0 +1,139 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + static Object a = 1; + static void foo(Object t) {} + static Object bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 { + static Integer a = 2; + static void foo(Integer t) {} + static Integer bar() { + return 1; + } +} + +// FILE: Java3.java +public interface Java3 { + default void foo(int t) {} +} + + +// FILE: Java4.java +public interface Java4 extends KotlinInterface { } + +// FILE: Java5.java +public class Java5 implements Java1 { + public static int a = 5; + public static void foo(Object t) { } +} + +// FILE: 1.kt +abstract class A : Java1, Java2(), KotlinInterface //Kotlin ← Java1, Java2, Kotlin2 + +class B(override var a: Int) : Java1, Java2(), KotlinInterface { + override fun bar(): Int { + return 5 + } + override fun foo(t: Int) { } +} + +class C(override var a: Int) : Java1, KotlinInterface, KotlinInterface2 { //Kotlin ← Java, Kotlin1, Kotlin2 + override fun foo(t: Any) { } + + override fun bar(): Int { + return 1 + } +} + +class D : Java1, Java2(), Java3 //Kotlin ← Java1, Java2, Java3 + +class E : Java1, Java2(), Java3 { + override fun foo(t: Int) { } +} + +abstract class F : Java1, Java4 //Kotlin ← Java1, Java2 ← Kotlin2 + +class G : Java1, Java4 { + override var a: Int + get() = 10 + set(value) { } + override fun foo(t: Int) { } + override fun bar(): Int { + return 10 + } +} + +class H(override var a: Int) : Java4, KotlinInterface2 { //Kotlin ← Java, Kotlin2 ← Kotlin3 + override fun foo(t: Any) { } + override fun bar(): Int { + return 1 + } + override fun foo(t: Int) { } +} + +abstract class I : Java5(), KotlinInterface //Kotlin ← Java, Kotlin2 ← Java2 + +class J : Java5(), KotlinInterface { + override var a: Int + get() = 10 + set(value) {} +} + +class K : Java5(), Java3 //Kotlin ← Java1, Java2 ← Java3 + +class L : Java5(), Java3 { + override fun foo(t: Int) {} +} + +interface KotlinInterface { + var a: Int + fun foo(t: Int) { } + fun bar(): Int { + return 10 + } +} + +interface KotlinInterface2 { + val a: Any + fun foo(t: Any) + fun bar(): Any +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L){ + a.a + a.foo(1) + a.bar() + b.a + b.foo(1) + b.bar() + c.a + c.foo(1) + c.foo("") + c.bar() + d.foo(1) + e.foo(1) + f.a + f.foo(1) + f.bar() + g.a + g.foo(1) + g.bar() + h.a + h.foo(1) + h.foo("") + h.bar() + i.a + i.foo(1) + i.bar() + j.a + j.foo(1) + j.bar() + k.foo(1) + l.foo(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..4a1013837b6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,230 @@ +abstract class A : Java2, Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2, Java1, KotlinInterface { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int { + return 5 + } + + override fun foo(t: Int) { + } + +} + +class C : Java1, KotlinInterface, KotlinInterface2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Any) { + } + +} + +class D : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2, Java1, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(t: Int) { + } + +} + +abstract class F : Java1, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class G : Java1, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + + override var a: Int + override get(): Int { + return 10 + } + override set(value: Int) { + } + +} + +class H : Java4, KotlinInterface2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Any) { + } + + override fun foo(t: Int) { + } + +} + +abstract class I : Java5, KotlinInterface { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5, KotlinInterface { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override var a: Int + override get(): Int { + return 10 + } + override set(value: Int) { + } + +} + +class K : Java5, Java3 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class L : Java5, Java3 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo(t: Int) { + } + +} + +interface KotlinInterface { + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(): Any + + abstract fun foo(t: Any) + + abstract val a: Any + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.() /*~> Unit */ + a.foo(t = 1) + a.bar() /*~> Unit */ + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + c.() /*~> Unit */ + c.foo(t = 1) + c.foo(t = "") + c.bar() /*~> Unit */ + d.foo(t = 1) + e.foo(t = 1) + f.() /*~> Unit */ + f.foo(t = 1) + f.bar() /*~> Unit */ + g.() /*~> Unit */ + g.foo(t = 1) + g.bar() /*~> Unit */ + h.() /*~> Unit */ + h.foo(t = 1) + h.foo(t = "") + h.bar() /*~> Unit */ + i.() /*~> Unit */ + i.foo(t = 1) + i.bar() /*~> Unit */ + j.() /*~> Unit */ + j.foo(t = 1) + j.bar() /*~> Unit */ + k.foo(t = 1) + l.foo(t = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..eb96e5356bb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,472 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java2, Java1, KotlinInterface { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int + // Public signature: /A.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: A#foo(kotlin.Int){} + // Public signature: /A.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2, Java1, KotlinInterface { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int){} + // Public signature: /C.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int + // Public signature: /C.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: C#foo(kotlin.Any){} + // Public signature: /C.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2, Java1, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2, Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Int){} + // Public signature: /E.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Int + // Public signature: /F.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: F#foo(kotlin.Int){} + // Public signature: /F.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Int + // Public signature: /G.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: G#foo(kotlin.Int){} + // Public signature: /G.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4, KotlinInterface2 { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Int + // Public signature: /H.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: H#foo(kotlin.Any){} + // Public signature: /H.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + override fun foo(t: Any): Unit + + // CHECK: + // Mangled name: H#foo(kotlin.Int){} + // Public signature: /H.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java5, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#bar(){}kotlin.Int + // Public signature: /I.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: I#foo(kotlin.Int){} + // Public signature: /I.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: I#(kotlin.Int){} + // Public signature: /I.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5, KotlinInterface { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#bar(){}kotlin.Int + // Public signature: /J.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: J#foo(kotlin.Int){} + // Public signature: /J.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: J#(kotlin.Int){} + // Public signature: /J.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java5, Java3 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(kotlin.Int){} + // Public signature: /K.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java5, Java3 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(kotlin.Int){} + // Public signature: /L.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.Int + // Public signature: /KotlinInterface.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + fun bar(): Int + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(t: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.Any + // Public signature: /KotlinInterface2.bar|-7451665824130722710[0] + // Public signature debug description: bar(){}kotlin.Any + abstract fun bar(): Any + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.Any){} + // Public signature: /KotlinInterface2.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + abstract fun foo(t: Any): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Any + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Any + // Public signature: /KotlinInterface2.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L){} +// Public signature: /test|-3655539743967648908[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.ir.txt new file mode 100644 index 00000000000..d31d606527c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.ir.txt @@ -0,0 +1,64 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + 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 .Java1 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.String declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:FINAL <> ($this:.B, t:kotlin.String) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.String + BLOCK_BODY diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt new file mode 100644 index 00000000000..76021689ecc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt @@ -0,0 +1,23 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 { + public static int a = 2; + public static void foo(Object t) { } + public static Object bar() { + return null; + } +} + +// FILE: 1.kt + +class A : Java1() + +class B : Java1() { + fun foo(t: String) {} + fun bar(): String { + return null!! + } +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt.txt new file mode 100644 index 00000000000..5da8469d3ee --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt.txt @@ -0,0 +1,24 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + fun bar(): String { + return CHECK_NOT_NULL(arg0 = null) + } + + fun foo(t: String) { + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.sig.kt.txt new file mode 100644 index 00000000000..ab0408240a1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.sig.kt.txt @@ -0,0 +1,35 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.String + // Public signature: /B.bar|1214702899383694193[0] + // Public signature debug description: bar(){}kotlin.String + fun bar(): String + + // CHECK: + // Mangled name: B#foo(kotlin.String){} + // Public signature: /B.foo|1351044947738582195[0] + // Public signature debug description: foo(kotlin.String){} + fun foo(t: String): Unit + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.ir.txt new file mode 100644 index 00000000000..36ed0de86ea --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.ir.txt @@ -0,0 +1,153 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.D, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:d index:1 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt new file mode 100644 index 00000000000..0abd12ab692 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt @@ -0,0 +1,49 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + static Object a = 1; + static void foo(Object t) { } + static Object bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 implements Java1 { } + +// FILE: Java3.java +public class Java3 implements Java1 { + public static int a = 3; + public static void foo(int t) { } + public static int bar() { + return 0; + } +} + +// FILE: test.kt +class A : Java2() + +class B : Java2() { + val a = 10 + fun foo(t: Int) { } + fun bar(): Int { return 10 } +} + +class C : Java3() + +class D : Java3() { + val a = 10 + fun foo(t: Int) {} + fun bar(): Int { return 10 } +} + +fun test(b: B, d: D){ + b.a + b.foo(1) + b.bar() + d.a + d.foo(1) + d.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt.txt new file mode 100644 index 00000000000..6a56156a37f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt.txt @@ -0,0 +1,66 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + +} + +fun test(b: B, d: D) { + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + d.() /*~> Unit */ + d.foo(t = 1) + d.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.sig.kt.txt new file mode 100644 index 00000000000..c40c3f78ca2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.sig.kt.txt @@ -0,0 +1,99 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int + // Public signature: /D.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + fun bar(): Int + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: #test(B;D){} +// Public signature: /test|7299882265535811933[0] +// Public signature debug description: test(B;D){} +fun test(b: B, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.ir.txt new file mode 100644 index 00000000000..7b91e00e3be --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.ir.txt @@ -0,0 +1,247 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun bar (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun bar (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun bar (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.kt.txt new file mode 100644 index 00000000000..7e488a1819a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.fir.kt.txt @@ -0,0 +1,84 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +interface KotlinInterface { + abstract fun bar(): Int + + abstract fun foo(t: Int) + + abstract val a: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.foo(t = 1) + a.bar() /*~> Unit */ + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + c.() /*~> Unit */ + c.foo(t = 1) + c.bar() /*~> Unit */ + d.() /*~> Unit */ + d.foo(t = 1) + d.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.ir.txt new file mode 100644 index 00000000000..f9226da3eca --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.ir.txt @@ -0,0 +1,247 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun bar (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun bar (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun bar (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:t index:0 type:kotlin.Int + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (t: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun bar (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt new file mode 100644 index 00000000000..6b6b910f3c6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt @@ -0,0 +1,72 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public abstract class Java1 implements KotlinInterface { + public static int a = 2; + public static void foo(Object t) { } +} + +// FILE: Java2.java +public class Java2 implements KotlinInterface { + public static int a = 2; + public static void foo(Object t) { } + + @Override + public int getA() { + return a; + } + + @Override + public void foo(int t) {} + + @Override + public int bar() { + return 0; + } +} + +// FILE: test.kt +abstract class A : Java1() + +class B : Java1() { + override val a: Int + get() = 5 + + override fun foo(t: Int) {} + + override fun bar(): Int { + return 1 + } +} + +class C : Java2() + +class D : Java2() { + override val a: Int + get() = 5 + override fun foo(t: Int) { } + override fun bar(): Int { + return 1 + } +} + +interface KotlinInterface{ + val a : Int + fun foo(t: Int) + fun bar(): Int +} + +fun test(a: A, b: B, c: C, d: D){ + a.a + a.foo(1) + a.bar() + b.a + b.foo(1) + b.bar() + c.a + c.foo(1) + c.bar() + d.a + d.foo(1) + d.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt.txt new file mode 100644 index 00000000000..7e488a1819a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt.txt @@ -0,0 +1,84 @@ +abstract class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +interface KotlinInterface { + abstract fun bar(): Int + + abstract fun foo(t: Int) + + abstract val a: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D) { + a.() /*~> Unit */ + a.foo(t = 1) + a.bar() /*~> Unit */ + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + c.() /*~> Unit */ + c.foo(t = 1) + c.bar() /*~> Unit */ + d.() /*~> Unit */ + d.foo(t = 1) + d.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.sig.kt.txt new file mode 100644 index 00000000000..41db1fc2ffe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.sig.kt.txt @@ -0,0 +1,177 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int + // Public signature: /A.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + abstract /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: A#foo(kotlin.Int){} + // Public signature: /A.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int + // Public signature: /C.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + @Override + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: C#foo(kotlin.Int){} + // Public signature: /C.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @Override + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int + // Public signature: /D.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: D#foo(kotlin.Int){} + // Public signature: /D.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.Int + // Public signature: /KotlinInterface.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + abstract fun bar(): Int + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int){} + // Public signature: /KotlinInterface.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + abstract fun foo(t: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.ir.txt new file mode 100644 index 00000000000..fd230887df8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.ir.txt @@ -0,0 +1,415 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Any declared in .D' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.D, t:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + $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:.KotlinInterface2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type: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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java4) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun bar (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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:.Java5, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .KotlinInterface2' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface2, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (t: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Any declared in .D' type=kotlin.Any origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.kt.txt new file mode 100644 index 00000000000..5c112ab0345 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.fir.kt.txt @@ -0,0 +1,153 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + fun bar(): Any { + return 10 + } + + fun foo(t: Any) { + } + +} + +abstract class E : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class F : Java4 { + override val a: Int + field = a + override get + + constructor(a: Int) /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + +} + +class G : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class H : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + +} + +interface KotlinInterface : Java1 { +} + +interface KotlinInterface2 : Java1 { + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + + abstract val a: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + d.() /*~> Unit */ + d.foo(t = "") + d.bar() /*~> Unit */ + e.() /*~> Unit */ + e.bar() /*~> Unit */ + e.foo(t = 1) + f.() /*~> Unit */ + f.foo(t = 1) + f.bar() /*~> Unit */ + g.() /*~> Unit */ + g.foo(t = 1) + g.bar() /*~> Unit */ + h.() /*~> Unit */ + h.foo(t = 1) + h.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.ir.txt new file mode 100644 index 00000000000..bd95aed84c1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.ir.txt @@ -0,0 +1,415 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.B, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> () returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java3 + 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 .Java3 + $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 <> (t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java3 + VALUE_PARAMETER name:t index:0 type: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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Any declared in .D' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:FINAL <> ($this:.D, t:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Any + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Int [fake_override] + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java4 + $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:.KotlinInterface2, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type: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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .F.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.F [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.F, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun bar (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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:.Java5, t:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $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 <> (t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java5 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public open fun bar (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.H, t:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (t: kotlin.Int): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=10 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.KotlinInterface2) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .KotlinInterface2' + CONST Int type=kotlin.Int value=10 + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface2, t:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:t index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo (t: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (t: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + t: CONST String type=kotlin.String value="" + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun bar (): kotlin.Any declared in .D' type=kotlin.Any origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (t: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + t: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun bar (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt new file mode 100644 index 00000000000..e78c1446bc9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt @@ -0,0 +1,117 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + static Object a = 1; + static void foo(Object t) { } + static Object bar() { + return null; + } +} + +// FILE: Java2.java +public class Java2 implements KotlinInterface { } + +// FILE: Java3.java +public class Java3 implements KotlinInterface { + public static int a = 3; + public static void foo(int t) { } + public static int bar() { + return 0; + } +} + +// FILE: Java4.java +public abstract class Java4 implements KotlinInterface2 { } + +// FILE: Java5.java +public class Java5 implements KotlinInterface2 { + public static int a = 5; + public static void foo(Object t) { } + + @Override + public int getA() { + return a; + } + + @Override + public void foo(int t) { } + + @Override + public int bar() { + return 1; + } +} + +// FILE: 1.kt +class A : Java2() //Kotlin ← Java ← Kotlin ← Java(static) + +class B : Java2() { + val a = 10 + fun foo(t: Int) { } + fun bar(): Int { + return 10 + } +} + +class C : Java3() //Kotlin ← Java(static) ← Kotlin ← Java(static) + +class D : Java3() { + val a = 10 + fun bar(): Any{ + return 10 + } + fun foo(t: Any) { } +} + +abstract class E : Java4() //Kotlin ← Java ← Kotlin(funs with same signature) ← Java(static) + +class F(override val a: Int) : Java4() { + override fun bar(): Int { + return 10 + } + override fun foo(t: Int) { } +} + +class G : Java5() //Kotlin ← Java(override + static) ← Kotlin(funs with same signature) ← Java(static) + +class H : Java5() { + override val a: Int + get() = 10 + + override fun bar(): Int { + return 10 + } + override fun foo(t: Int) { } +} + +interface KotlinInterface : Java1 + +interface KotlinInterface2: Java1 { + val a: Int + fun foo(t: Int) { } + fun bar(): Int { + return 10 + } +} + +fun test(a:A, b: B, c: C, d: D, e: E, f: F, g: G, h: H){ + b.a + b.foo(1) + b.bar() + d.a + d.foo("") + d.bar() + e.a + e.bar() + e.foo(1) + f.a + f.foo(1) + f.bar() + g.a + g.foo(1) + g.bar() + h.a + h.foo(1) + h.bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt.txt new file mode 100644 index 00000000000..5c112ab0345 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt.txt @@ -0,0 +1,153 @@ +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + +} + +class C : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class D : Java3 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + fun bar(): Any { + return 10 + } + + fun foo(t: Any) { + } + +} + +abstract class E : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class F : Java4 { + override val a: Int + field = a + override get + + constructor(a: Int) /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + +} + +class G : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class H : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun bar(): Int { + return 10 + } + + override fun foo(t: Int) { + } + + override val a: Int + override get(): Int { + return 10 + } + +} + +interface KotlinInterface : Java1 { +} + +interface KotlinInterface2 : Java1 { + fun bar(): Int { + return 10 + } + + fun foo(t: Int) { + } + + abstract val a: Int + abstract get + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + b.() /*~> Unit */ + b.foo(t = 1) + b.bar() /*~> Unit */ + d.() /*~> Unit */ + d.foo(t = "") + d.bar() /*~> Unit */ + e.() /*~> Unit */ + e.bar() /*~> Unit */ + e.foo(t = 1) + f.() /*~> Unit */ + f.foo(t = 1) + f.bar() /*~> Unit */ + g.() /*~> Unit */ + g.foo(t = 1) + g.bar() /*~> Unit */ + h.() /*~> Unit */ + h.foo(t = 1) + h.bar() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.sig.kt.txt new file mode 100644 index 00000000000..2472c8565d8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.sig.kt.txt @@ -0,0 +1,277 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int + // Public signature: /B.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + fun bar(): Int + + // CHECK: + // Mangled name: B#foo(kotlin.Int){} + // Public signature: /B.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Any + // Public signature: /D.bar|-7451665824130722710[0] + // Public signature debug description: bar(){}kotlin.Any + fun bar(): Any + + // CHECK: + // Mangled name: D#foo(kotlin.Any){} + // Public signature: /D.foo|-3585887913961670341[0] + // Public signature debug description: foo(kotlin.Any){} + fun foo(t: Any): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java4 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.Int + // Public signature: /E.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: E#foo(kotlin.Int){} + // Public signature: /E.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.Int + // Public signature: /F.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: F#foo(kotlin.Int){} + // Public signature: /F.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java5 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#bar(){}kotlin.Int + // Public signature: /G.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + @Override + /* fake */ override fun bar(): Int + + // CHECK: + // Mangled name: G#foo(kotlin.Int){} + // Public signature: /G.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + @Override + /* fake */ override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java5 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#bar(){}kotlin.Int + // Public signature: /H.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: H#foo(kotlin.Int){} + // Public signature: /H.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + override fun foo(t: Int): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java1 { +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : Java1 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.Int + // Public signature: /KotlinInterface2.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + fun bar(): Int + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.Int){} + // Public signature: /KotlinInterface2.foo|-104159190164110731[0] + // Public signature debug description: foo(kotlin.Int){} + fun foo(t: Int): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.ir.txt new file mode 100644 index 00000000000..58999ddfad0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.ir.txt @@ -0,0 +1,174 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .Java3]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.A; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.A; .Java3]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .A + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($receiver:.A, a:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:FINAL <> ($receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:FINAL <> ($receiver:.Java3, a:kotlin.Any) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:a index:0 type:kotlin.Any + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + BLOCK_BODY + CALL 'public final fun (value: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST Int type=kotlin.Int value=10 + CALL 'public final fun foo (a: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + $receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public final fun (value: kotlin.String): kotlin.Unit declared in ' type=kotlin.Unit origin=EQ + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST String type=kotlin.String value="3" + CALL 'public final fun foo (a: kotlin.Int): kotlin.Unit declared in ' type=kotlin.Unit origin=null + $receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (a: kotlin.Any): kotlin.Unit declared in ' type=kotlin.Unit origin=null + $receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST String type=kotlin.String value="" + CALL 'public final fun foo (a: kotlin.Any): kotlin.Unit declared in ' type=kotlin.Unit origin=null + $receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST String type=kotlin.String value="" + PROPERTY name:a visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' + CONST Int type=kotlin.Int value=1 + FUN name: visibility:public modality:FINAL <> ($receiver:.A, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:.Java2) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.Java2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CONST String type=kotlin.String value="java2" + FUN name: visibility:public modality:FINAL <> ($receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY + PROPERTY name:a visibility:public modality:FINAL [var] + FUN name: visibility:public modality:FINAL <> ($receiver:.Java3) returnType:kotlin.String + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.Java3 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CONST String type=kotlin.String value="java3" + FUN name: visibility:public modality:FINAL <> ($receiver:.Java3, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [var] + $receiver: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt new file mode 100644 index 00000000000..d63f0efa18c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt @@ -0,0 +1,51 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 extends A { } + +// FILE: Java2.java +public class Java2 { } + +// FILE: Java3.java +public interface Java3 { } + +// FILE: 1.kt + +open class A + +fun A.foo(a: Int) {} + +var A.a: Int + get() = 1 + set(value) {} + +class B : Java1() //Kotlin ← Java ← Kotlin with kotlin receiver + +fun Java2.foo(a: Int) {} + +var Java2.a: String + get() = "java2" + set(value) {} + +class C : Java2() //Kotlin ← Java with java receiver + +fun Java3.foo(a: Any) {} + +var Java3.a: String + get() = "java3" + set(value) {} + +class D : Java2(), Java3 //Kotlin ← Java1, Java2 with java receivers + +class E : A(), Java3 //Kotlin ← Java, Kotlin2 + +fun test(b: B, c: C, d: D, e: E){ + b.a = 10 + b.foo(1) + c.a = "3" + c.foo(1) + d.foo("") + e.foo("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt.txt new file mode 100644 index 00000000000..15ea755b7b8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt.txt @@ -0,0 +1,83 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : A, Java3 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +fun A.foo(a: Int) { +} + +fun Java2.foo(a: Int) { +} + +fun Java3.foo(a: Any) { +} + +fun test(b: B, c: C, d: D, e: E) { + b.(value = 10) + b.foo(a = 1) + c.(value = "3") + c.foo(a = 1) + d.foo(a = "") + e.foo(a = "") +} + +var A.a: Int + get(): Int { + return 1 + } + set(value: Int) { + } + +var Java2.a: String + get(): String { + return "java2" + } + set(value: String) { + } + +var Java3.a: String + get(): String { + return "java3" + } + set(value: String) { + } diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.sig.kt.txt new file mode 100644 index 00000000000..9f43a6978bf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.sig.kt.txt @@ -0,0 +1,131 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : A, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: #foo@A(kotlin.Int){} +// Public signature: /foo|-6186268904683510789[0] +// Public signature debug description: foo@A(kotlin.Int){} +fun A.foo(a: Int): Unit + +// CHECK: +// Mangled name: #foo@Java2(kotlin.Int){} +// Public signature: /foo|-7830593942430915020[0] +// Public signature debug description: foo@Java2(kotlin.Int){} +fun Java2.foo(a: Int): Unit + +// CHECK: +// Mangled name: #foo@Java3(kotlin.Any){} +// Public signature: /foo|1460465834488203451[0] +// Public signature debug description: foo@Java3(kotlin.Any){} +fun Java3.foo(a: Any): Unit + +// CHECK: +// Mangled name: #test(B;C;D;E){} +// Public signature: /test|-2264777070922935105[0] +// Public signature debug description: test(B;C;D;E){} +fun test(b: B, c: C, d: D, e: E): Unit + +// CHECK: +// Mangled name: @A{}a +// Public signature: /a|-112912227296012367[0] +// Public signature debug description: @A{}a +var A.a: Int + // CHECK JVM_IR: + // Mangled name: #@A(){}kotlin.Int + // Public signature: /a.|-5182152274603237009[0] + // Public signature debug description: @A(){}kotlin.Int + get(): Int + // CHECK: + // Mangled name: #@A(kotlin.Int){} + // Public signature: /a.|6195122733392538441[0] + // Public signature debug description: @A(kotlin.Int){} + set(value: Int): Unit + +// CHECK: +// Mangled name: @Java2{}a +// Public signature: /a|6282677371177159489[0] +// Public signature debug description: @Java2{}a +var Java2.a: String + // CHECK JVM_IR: + // Mangled name: #@Java2(){}kotlin.String + // Public signature: /a.|6032259885091372080[0] + // Public signature debug description: @Java2(){}kotlin.String + get(): String + // CHECK: + // Mangled name: #@Java2(kotlin.String){} + // Public signature: /a.|-9081416691016033755[0] + // Public signature debug description: @Java2(kotlin.String){} + set(value: String): Unit + +// CHECK: +// Mangled name: @Java3{}a +// Public signature: /a|-2751463959158715061[0] +// Public signature debug description: @Java3{}a +var Java3.a: String + // CHECK JVM_IR: + // Mangled name: #@Java3(){}kotlin.String + // Public signature: /a.|9187131099263723507[0] + // Public signature debug description: @Java3(){}kotlin.String + get(): String + // CHECK: + // Mangled name: #@Java3(kotlin.String){} + // Public signature: /a.|8472946520744369884[0] + // Public signature debug description: @Java3(kotlin.String){} + set(value: String): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.ir.txt new file mode 100644 index 00000000000..3a0c032c47d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.ir.txt @@ -0,0 +1,232 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=1 + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .A' + CONST String type=kotlin.String value="java2" + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun bar (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + 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 .Java1 + $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:.A, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type: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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun bar (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + a: CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, $receiver:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + $receiver: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, $receiver:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, $receiver:.Java2) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + $receiver: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, $receiver:.Java2, :kotlin.String) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.String + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun bar (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun bar (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + a: CONST Int type=kotlin.Int value=1 + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.A, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.String + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .C' + CONST String type=kotlin.String value="C.java2" + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.kt.txt new file mode 100644 index 00000000000..0c596c9e449 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.fir.kt.txt @@ -0,0 +1,80 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun Java2.bar(a: Int) { + } + + open fun A.foo(a: Int) { + } + + open var A.a: Int + open get(): Int { + return 1 + } + open set(value: Int) { + } + + open var Java2.b: String + open get(): String { + return "java2" + } + open set(value: String) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + fun test() { + (, A()).() /*~> Unit */ + (, Java2()).() /*~> Unit */ + (, A()).foo(a = 1) + (, Java2()).bar(a = 1) + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun Java2.bar(a: Int) { + } + + override fun A.foo(a: Int) { + } + + fun test() { + (, A()).() /*~> Unit */ + (, Java2()).() /*~> Unit */ + (, A()).foo(a = 1) + (, Java2()).bar(a = 1) + } + + override var A.a: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + + override var Java2.b: String + override get(): String { + return "C.java2" + } + override set(value: String) { + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.ir.txt new file mode 100644 index 00000000000..d8976e7f25e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.ir.txt @@ -0,0 +1,232 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=1 + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .A' + CONST String type=kotlin.String value="java2" + FUN name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun bar (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + 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 .Java1 + $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:.A, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type: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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .B' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun bar (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + a: CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, $receiver:.A, value:kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.String + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, $receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun bar (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C, $receiver:.A, a:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.String declared in .C' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + CALL 'public open fun foo (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun bar (a: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + $receiver: CONSTRUCTOR_CALL 'public constructor () declared in .Java2' type=.Java2 origin=null + a: CONST Int type=kotlin.Int value=1 + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.A, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.String + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2) returnType:kotlin.String + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .C' + CONST String type=kotlin.String value="C.java2" + FUN name: visibility:public modality:OPEN <> ($this:.C, $receiver:.Java2, value:kotlin.String) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (value: kotlin.String): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + $receiver: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:value index:0 type:kotlin.String + BLOCK_BODY diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt new file mode 100644 index 00000000000..9021c56021e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt @@ -0,0 +1,49 @@ +// TARGET_BACKEND: JVM +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +public class Java1 extends A { } + +// FILE: Java2.java +public class Java2 { } + +// FILE: 1.kt +open class A { + open fun A.foo(a: Int) {} + open var A.a: Int + get() = 1 + set(value) {} + + open fun Java2.bar(a: Int) {} + open var Java2.b: String + get() = "java2" + set(value) {} +} + +class B : Java1() { //Kotlin ← Java ← Kotlin + fun test() { + A().a + Java2().b + A().foo(1) + Java2().bar(1) + } +} + +class C: Java1() { + override var A.a: Int + get() = 2 + set(value) {} + override var Java2.b: String + get() = "C.java2" + set(value) {} + + override fun A.foo(a: Int) { } + override fun Java2.bar(a: Int) { } + + fun test() { + A().a + Java2().b + A().foo(1) + Java2().bar(1) + } +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt.txt new file mode 100644 index 00000000000..0c596c9e449 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt.txt @@ -0,0 +1,80 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun Java2.bar(a: Int) { + } + + open fun A.foo(a: Int) { + } + + open var A.a: Int + open get(): Int { + return 1 + } + open set(value: Int) { + } + + open var Java2.b: String + open get(): String { + return "java2" + } + open set(value: String) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + fun test() { + (, A()).() /*~> Unit */ + (, Java2()).() /*~> Unit */ + (, A()).foo(a = 1) + (, Java2()).bar(a = 1) + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun Java2.bar(a: Int) { + } + + override fun A.foo(a: Int) { + } + + fun test() { + (, A()).() /*~> Unit */ + (, Java2()).() /*~> Unit */ + (, A()).foo(a = 1) + (, Java2()).bar(a = 1) + } + + override var A.a: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + + override var Java2.b: String + override get(): String { + return "C.java2" + } + override set(value: String) { + } + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.sig.kt.txt new file mode 100644 index 00000000000..87559e5a670 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.sig.kt.txt @@ -0,0 +1,179 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#bar@Java2(kotlin.Int){} + // Public signature: /A.bar|-4052098631143945129[0] + // Public signature debug description: bar@Java2(kotlin.Int){} + open fun Java2.bar(a: Int): Unit + + // CHECK: + // Mangled name: A#foo@A(kotlin.Int){} + // Public signature: /A.foo|-6186268904683510789[0] + // Public signature debug description: foo@A(kotlin.Int){} + open fun A.foo(a: Int): Unit + + // CHECK: + // Mangled name: A@A{}a + // Public signature: /A.a|-112912227296012367[0] + // Public signature debug description: @A{}a + open var A.a: Int + // CHECK JVM_IR: + // Mangled name: A#@A(){}kotlin.Int + // Public signature: /A.a.|-5182152274603237009[0] + // Public signature debug description: @A(){}kotlin.Int + open get(): Int + // CHECK: + // Mangled name: A#@A(kotlin.Int){} + // Public signature: /A.a.|6195122733392538441[0] + // Public signature debug description: @A(kotlin.Int){} + open set(value: Int): Unit + + // CHECK: + // Mangled name: A@Java2{}b + // Public signature: /A.b|2371064665038281993[0] + // Public signature debug description: @Java2{}b + open var Java2.b: String + // CHECK JVM_IR: + // Mangled name: A#@Java2(){}kotlin.String + // Public signature: /A.b.|4816858536020199467[0] + // Public signature debug description: @Java2(){}kotlin.String + open get(): String + // CHECK: + // Mangled name: A#@Java2(kotlin.String){} + // Public signature: /A.b.|7587520575456570009[0] + // Public signature debug description: @Java2(kotlin.String){} + open set(value: String): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar@Java2(kotlin.Int){} + // Public signature: /B.bar|-4052098631143945129[0] + // Public signature debug description: bar@Java2(kotlin.Int){} + /* fake */ override fun Java2.bar(a: Int): Unit + + // CHECK: + // Mangled name: B#foo@A(kotlin.Int){} + // Public signature: /B.foo|-6186268904683510789[0] + // Public signature debug description: foo@A(kotlin.Int){} + /* fake */ override fun A.foo(a: Int): Unit + + // CHECK: + // Mangled name: B#test(){} + // Public signature: /B.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: B@A{}a + // Public signature: /B.a|-112912227296012367[0] + // Public signature debug description: @A{}a + /* fake */ override var A.a: Int + // CHECK JVM_IR: + // Mangled name: B#@A(){}kotlin.Int + // Public signature: /B.a.|-5182152274603237009[0] + // Public signature debug description: @A(){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: B#@A(kotlin.Int){} + // Public signature: /B.a.|6195122733392538441[0] + // Public signature debug description: @A(kotlin.Int){} + /* fake */ override set(value: Int): Unit + + // CHECK: + // Mangled name: B@Java2{}b + // Public signature: /B.b|2371064665038281993[0] + // Public signature debug description: @Java2{}b + /* fake */ override var Java2.b: String + // CHECK JVM_IR: + // Mangled name: B#@Java2(){}kotlin.String + // Public signature: /B.b.|4816858536020199467[0] + // Public signature debug description: @Java2(){}kotlin.String + /* fake */ override get(): String + // CHECK: + // Mangled name: B#@Java2(kotlin.String){} + // Public signature: /B.b.|7587520575456570009[0] + // Public signature debug description: @Java2(kotlin.String){} + /* fake */ override set(value: String): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#bar@Java2(kotlin.Int){} + // Public signature: /C.bar|-4052098631143945129[0] + // Public signature debug description: bar@Java2(kotlin.Int){} + override fun Java2.bar(a: Int): Unit + + // CHECK: + // Mangled name: C#foo@A(kotlin.Int){} + // Public signature: /C.foo|-6186268904683510789[0] + // Public signature debug description: foo@A(kotlin.Int){} + override fun A.foo(a: Int): Unit + + // CHECK: + // Mangled name: C#test(){} + // Public signature: /C.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: C@A{}a + // Public signature: /C.a|-112912227296012367[0] + // Public signature debug description: @A{}a + override var A.a: Int + // CHECK JVM_IR: + // Mangled name: C#@A(){}kotlin.Int + // Public signature: /C.a.|-5182152274603237009[0] + // Public signature debug description: @A(){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: C#@A(kotlin.Int){} + // Public signature: /C.a.|6195122733392538441[0] + // Public signature debug description: @A(kotlin.Int){} + override set(value: Int): Unit + + // CHECK: + // Mangled name: C@Java2{}b + // Public signature: /C.b|2371064665038281993[0] + // Public signature debug description: @Java2{}b + override var Java2.b: String + // CHECK JVM_IR: + // Mangled name: C#@Java2(){}kotlin.String + // Public signature: /C.b.|4816858536020199467[0] + // Public signature debug description: @Java2(){}kotlin.String + override get(): String + // CHECK: + // Mangled name: C#@Java2(kotlin.String){} + // Public signature: /C.b.|7587520575456570009[0] + // Public signature debug description: @Java2(kotlin.String){} + override set(value: String): Unit + +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.ir.txt new file mode 100644 index 00000000000..cfbd5c2bf76 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.ir.txt @@ -0,0 +1,393 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java2] + $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:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt new file mode 100644 index 00000000000..290911a40ce --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt @@ -0,0 +1,99 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public final void foo(){}; + public native void foo2(); + public synchronized void foo3(){}; +} + +// FILE: Java2.java +public interface Java2 { + public abstract void foo(); +} + +// FILE: Java3.java +public class Java3 extends KotlinClass { } + +// FILE: Java4.java +public interface Java4 extends KotlinInterface { } + +// FILE: Java5.java +public class Java5 extends KotlinClass { + public native void foo2(); + public synchronized void foo3(){}; +} + +// FILE: 1.kt + +class A : Java1() //Kotlin ← Java with final, native, synchronized + +abstract class B : Java2 //Kotlin ← Java with abstract + +class C : Java1() { + override fun foo2() { } + override fun foo3() { } +} + +class D: Java2 { + override fun foo() { } +} + +class E : Java3() //Kotlin ← Java ← Kotlin ← Java with final, native, synchronized + +abstract class F : Java4 //Kotlin ← Java ← Kotlin ← Java with abstract + +class G : Java3() { + override fun foo2() {} + override fun foo3() {} +} + +class H: Java4 { + override fun foo() { } +} + +class I : Java5() //Kotlin ← Java ← Kotlin ← Java with explicit override in java + +class J : Java5() { //Kotlin ← Java ← Kotlin ← Java with explicit override + override fun foo2() { } + override fun foo3() { } +} + +open class KotlinClass: Java1() + +interface KotlinInterface : Java2 + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo() + a.foo2() + a.foo3() + + b.foo() + + c.foo() + c.foo2() + c.foo3() + + d.foo() + + e.foo() + e.foo2() + e.foo3() + + f.foo() + + g.foo() + g.foo2() + g.foo3() + + h.foo() + + i.foo() + i.foo2() + i.foo3() + + j.foo() + j.foo2() + j.foo3() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt.txt new file mode 100644 index 00000000000..9c4cfcd6d46 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt.txt @@ -0,0 +1,150 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class B : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +abstract class F : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class G : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface : Java2 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.foo() + a.foo2() + a.foo3() + b.foo() + c.foo() + c.foo2() + c.foo3() + d.foo() + e.foo() + e.foo2() + e.foo3() + f.foo() + g.foo() + g.foo2() + g.foo3() + h.foo() + i.foo() + i.foo2() + i.foo3() + j.foo() + j.foo2() + j.foo3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..e2c55d45357 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.sig.kt.txt @@ -0,0 +1,299 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: E#foo2(){} + // Public signature: /E.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: E#foo3(){} + // Public signature: /E.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: G#foo2(){} + // Public signature: /G.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: G#foo3(){} + // Public signature: /G.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: I#foo2(){} + // Public signature: /I.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: I#foo3(){} + // Public signature: /I.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: J#foo2(){} + // Public signature: /J.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: J#foo3(){} + // Public signature: /J.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#foo(){} + // Public signature: /KotlinClass.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: KotlinClass#foo2(){} + // Public signature: /KotlinClass.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: KotlinClass#foo3(){} + // Public signature: /KotlinClass.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java2 { + // CHECK: + // Mangled name: KotlinInterface#foo(){} + // Public signature: /KotlinInterface.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.ir.txt new file mode 100644 index 00000000000..d2de2abb76b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.ir.txt @@ -0,0 +1,133 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external] + $this: VALUE_PARAMETER name: type:.A + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .A.foo4) returnType:kotlin.Unit [inline] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .A.foo4 + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend,fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .B.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .Java1.foo4): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .B.foo4 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .C.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .Java1.foo4): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .C.foo4 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [suspend] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit [suspend] + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo4 (t: T of .B.foo4): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun foo4 (t: T of .C.foo4): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.String + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.kt.txt new file mode 100644 index 00000000000..6c354870e31 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.kt.txt @@ -0,0 +1,54 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + inline fun foo() { + } + + open external fun foo2() + + open suspend fun foo3() { + } + + inline fun foo4(t: T) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo2() { + } + + override suspend fun foo3() { + } + +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(t = 1) + c.foo() + c.foo2() + c.foo3() + c.foo4(t = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..58fd87f4013 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.fir.sig.kt.txt @@ -0,0 +1,113 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + inline fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + open external fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + open suspend fun foo3(): Unit + + // CHECK: + // Mangled name: A#foo4(0:0){0§} + // Public signature: /A.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: B#foo2(){} + // Public signature: /B.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: B#foo3(){} + // Public signature: /B.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: B#foo4(0:0){0§} + // Public signature: /B.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: C#foo4(0:0){0§} + // Public signature: /C.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override suspend fun foo3(): Unit + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +suspend fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.ir.txt new file mode 100644 index 00000000000..534553e2527 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.ir.txt @@ -0,0 +1,133 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external] + $this: VALUE_PARAMETER name: type:.A + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .A.foo4) returnType:kotlin.Unit [inline] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .A.foo4 + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external,fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend,fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .B.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .Java1.foo4): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .B.foo4 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .C.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .Java1.foo4): kotlin.Unit declared in .Java1 + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .C.foo4 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [suspend] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit [suspend] + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo4 (t: T of .B.foo4): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun foo4 (t: T of .C.foo4): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.String + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt new file mode 100644 index 00000000000..a7bbc85e745 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt @@ -0,0 +1,35 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ Difference in external + +// FILE: Java1.java + +public class Java1 extends A { } + +// FILE: 1.kt + +open class A { + inline fun foo() {} + open external fun foo2() + open suspend fun foo3() {} + inline fun foo4(t: T){} +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : Java1() { //Kotlin ← Java ← Kotlin with explicit override + override suspend fun foo3() { } + override fun foo2() {} +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(1) + + c.foo() + c.foo2() + c.foo3() + c.foo4("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt.txt new file mode 100644 index 00000000000..6c354870e31 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt.txt @@ -0,0 +1,54 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + inline fun foo() { + } + + open external fun foo2() + + open suspend fun foo3() { + } + + inline fun foo4(t: T) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo2() { + } + + override suspend fun foo3() { + } + +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(t = 1) + c.foo() + c.foo2() + c.foo3() + c.foo4(t = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..af9acd143fc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.sig.kt.txt @@ -0,0 +1,113 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + inline fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + open external fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + open suspend fun foo3(): Unit + + // CHECK: + // Mangled name: A#foo4(0:0){0§} + // Public signature: /A.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: B#foo2(){} + // Public signature: /B.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + external /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: B#foo3(){} + // Public signature: /B.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: B#foo4(0:0){0§} + // Public signature: /B.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: C#foo4(0:0){0§} + // Public signature: /C.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override suspend fun foo3(): Unit + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +suspend fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.ir.txt new file mode 100644 index 00000000000..a7d9123a4d5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.ir.txt @@ -0,0 +1,420 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java1 + public final fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2; .Java3]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java2 + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java2 + public abstract fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java2 + public abstract fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2; .Java3]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java2 + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java2 + public abstract fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java2 + public abstract fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java2 + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java2 + public abstract fun foo2 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java2 + public abstract fun foo3 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .Java2 + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .Java2 + public abstract fun foo2 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + public open fun foo3 (): kotlin.Unit declared in .Java2 + public abstract fun foo3 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo3 visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun foo2 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun foo3 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo2 (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo3 (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt new file mode 100644 index 00000000000..589cef9819c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt @@ -0,0 +1,91 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + public abstract void foo(); +} + +// FILE: Java2.java +public class Java2 { + public final void foo(){}; + public native void foo2(); + public synchronized void foo3(){}; +} + +// FILE: Java3.java +public interface Java3 { + public void foo(); + public void foo2(); + public void foo3(); +} + +// FILE: 1.kt + +abstract class A : Java1, Java2() //Kotlin ← Java1, Java2 + +class B : Java2(), Java3 + +class C : Java2(), Java3 { + override fun foo2() { } + override fun foo3() { } +} + +abstract class D : Java1, Java3 + +class E : Java1, Java3 { + override fun foo() { } + override fun foo2() { } + override fun foo3() { } +} + +class F : Java2(), KotlinInterface //Kotlin ← Java, Kotlin2 + +class G: Java2(), KotlinInterface { + override fun foo2() { } + override fun foo3() { } +} + +abstract class H : Java1, KotlinInterface + +class I : Java1, KotlinInterface { + override fun foo(){ } + override fun foo2() { } + override fun foo3() { } +} + +interface KotlinInterface { + fun foo() + fun foo2() + fun foo3() +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G,h: H, i: I){ + a.foo() + a.foo2() + a.foo3() + b.foo() + b.foo2() + b.foo3() + c.foo() + c.foo2() + c.foo3() + d.foo() + d.foo2() + d.foo3() + e.foo() + e.foo2() + e.foo3() + f.foo() + f.foo2() + f.foo3() + g.foo() + g.foo2() + g.foo3() + h.foo() + h.foo2() + h.foo3() + i.foo() + i.foo2() + i.foo3() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt.txt new file mode 100644 index 00000000000..95fd60f1406 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt.txt @@ -0,0 +1,149 @@ +abstract class A : Java2, Java1 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java2, Java3 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +abstract class D : Java1, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class E : Java1, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +class F : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class G : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +abstract class H : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class I : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override fun foo2() { + } + + override fun foo3() { + } + +} + +interface KotlinInterface { + abstract fun foo() + + abstract fun foo2() + + abstract fun foo3() + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.foo() + a.foo2() + a.foo3() + b.foo() + b.foo2() + b.foo3() + c.foo() + c.foo2() + c.foo3() + d.foo() + d.foo2() + d.foo3() + e.foo() + e.foo2() + e.foo3() + f.foo() + f.foo2() + f.foo3() + g.foo() + g.foo2() + g.foo3() + h.foo() + h.foo2() + h.foo3() + i.foo() + i.foo2() + i.foo3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..816c2fb68aa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.sig.kt.txt @@ -0,0 +1,299 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java2, Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2, Java3 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: B#foo2(){} + // Public signature: /B.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: B#foo3(){} + // Public signature: /B.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2, Java3 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1, Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: D#foo2(){} + // Public signature: /D.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + abstract /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: D#foo3(){} + // Public signature: /D.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + abstract /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: E#foo2(){} + // Public signature: /E.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: E#foo3(){} + // Public signature: /E.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: F#foo2(){} + // Public signature: /F.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: F#foo3(){} + // Public signature: /F.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java2, KotlinInterface { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: G#foo2(){} + // Public signature: /G.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: G#foo3(){} + // Public signature: /G.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java1, KotlinInterface { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: H#foo2(){} + // Public signature: /H.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + abstract /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: H#foo3(){} + // Public signature: /H.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + abstract /* fake */ override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java1, KotlinInterface { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: I#foo2(){} + // Public signature: /I.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: I#foo3(){} + // Public signature: /I.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override fun foo3(): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(){} + // Public signature: /KotlinInterface.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo2(){} + // Public signature: /KotlinInterface.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + abstract fun foo2(): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo3(){} + // Public signature: /KotlinInterface.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + abstract fun foo3(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I){} +// Public signature: /test|-1897371180652527268[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.ir.txt new file mode 100644 index 00000000000..a861505c673 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.ir.txt @@ -0,0 +1,152 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external] + $this: VALUE_PARAMETER name: type:.A + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .A.foo4) returnType:kotlin.Unit [inline] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .A.foo4 + BLOCK_BODY + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .A + public abstract fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .A + public abstract fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend,fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .B.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .A.foo4): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .B.foo4 + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .A + public abstract fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .C.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .A.foo4): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .C.foo4 + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .A + public abstract fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [suspend] + overridden: + public open fun foo3 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo4 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit [suspend] + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo4 (t: T of .B.foo4): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun foo4 (t: T of .C.foo4): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.String + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.kt.txt new file mode 100644 index 00000000000..1213837ce0c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.kt.txt @@ -0,0 +1,57 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + inline fun foo() { + } + + open external fun foo2() + + open suspend fun foo3() { + } + + inline fun foo4(t: T) { + } + +} + +abstract class B : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +class C : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun foo2() { + } + + override suspend fun foo3() { + } + + override fun foo4() { + } + +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(t = 1) + c.foo() + c.foo2() + c.foo3() + c.foo4(t = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..e2300f3ae7f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.fir.sig.kt.txt @@ -0,0 +1,125 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + inline fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + open external fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + open suspend fun foo3(): Unit + + // CHECK: + // Mangled name: A#foo4(0:0){0§} + // Public signature: /A.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : A, Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: B#foo2(){} + // Public signature: /B.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: B#foo3(){} + // Public signature: /B.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: B#foo4(){} + // Public signature: /B.foo4|-6020267482604528061[0] + // Public signature debug description: foo4(){} + abstract /* fake */ override fun foo4(): Unit + + // CHECK: + // Mangled name: B#foo4(0:0){0§} + // Public signature: /B.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : A, Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: C#foo4(0:0){0§} + // Public signature: /C.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: C#foo4(){} + // Public signature: /C.foo4|-6020267482604528061[0] + // Public signature debug description: foo4(){} + override fun foo4(): Unit + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +suspend fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.ir.txt new file mode 100644 index 00000000000..1f117f9ce2a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.ir.txt @@ -0,0 +1,152 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external] + $this: VALUE_PARAMETER name: type:.A + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .A.foo4) returnType:kotlin.Unit [inline] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .A.foo4 + BLOCK_BODY + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .A + public abstract fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [external,fake_override] + overridden: + public open fun foo2 (): kotlin.Unit declared in .A + public abstract fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [suspend,fake_override] + overridden: + public open fun foo3 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .B.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .A.foo4): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .B.foo4 + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (): kotlin.Unit declared in .A + public abstract fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:FINAL ($this:.A, t:T of .C.foo4) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo4 (t: T of .A.foo4): kotlin.Unit declared in .A + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:t index:0 type:T of .C.foo4 + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo2 (): kotlin.Unit declared in .A + public abstract fun foo2 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [suspend] + overridden: + public open fun foo3 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo4 (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit [suspend] + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + CALL 'public final fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun foo4 (t: T of .B.foo4): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + : kotlin.Int + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun foo4 (t: T of .C.foo4): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + : kotlin.String + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + t: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt new file mode 100644 index 00000000000..2557f882165 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt @@ -0,0 +1,38 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ Difference in external + +// FILE: Java1.java +public interface Java1 { + public void foo(); + public void foo2(); + public void foo4(); +} + +// FILE: 1.kt + +open class A { + inline fun foo() {} + open external fun foo2() + open suspend fun foo3() {} + inline fun foo4(t: T){} +} + +abstract class B : A(), Java1 //Kotlin ← Java, Kotlin2 + +class C : A(), Java1 { + override fun foo2() { } + override fun foo4() { } + override suspend fun foo3() {} +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(1) + c.foo() + c.foo2() + c.foo3() + c.foo4("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt.txt new file mode 100644 index 00000000000..1213837ce0c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt.txt @@ -0,0 +1,57 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + inline fun foo() { + } + + open external fun foo2() + + open suspend fun foo3() { + } + + inline fun foo4(t: T) { + } + +} + +abstract class B : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +class C : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun foo2() { + } + + override suspend fun foo3() { + } + + override fun foo4() { + } + +} + +suspend fun test(b: B, c: C) { + b.foo() + b.foo2() + b.foo3() + b.foo4(t = 1) + c.foo() + c.foo2() + c.foo3() + c.foo4(t = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..f1f473888bd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.sig.kt.txt @@ -0,0 +1,125 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + inline fun foo(): Unit + + // CHECK: + // Mangled name: A#foo2(){} + // Public signature: /A.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + open external fun foo2(): Unit + + // CHECK: + // Mangled name: A#foo3(){} + // Public signature: /A.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + open suspend fun foo3(): Unit + + // CHECK: + // Mangled name: A#foo4(0:0){0§} + // Public signature: /A.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : A, Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: B#foo2(){} + // Public signature: /B.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + external /* fake */ override fun foo2(): Unit + + // CHECK: + // Mangled name: B#foo3(){} + // Public signature: /B.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + /* fake */ override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: B#foo4(){} + // Public signature: /B.foo4|-6020267482604528061[0] + // Public signature debug description: foo4(){} + abstract /* fake */ override fun foo4(): Unit + + // CHECK: + // Mangled name: B#foo4(0:0){0§} + // Public signature: /B.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : A, Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override inline fun foo(): Unit + + // CHECK: + // Mangled name: C#foo4(0:0){0§} + // Public signature: /C.foo4|-2196272918061172213[0] + // Public signature debug description: foo4(0:0){0§} + /* fake */ override inline fun foo4(t: T): Unit + + // CHECK: + // Mangled name: C#foo2(){} + // Public signature: /C.foo2|-9099664023625270343[0] + // Public signature debug description: foo2(){} + override fun foo2(): Unit + + // CHECK: + // Mangled name: C#foo3(){} + // Public signature: /C.foo3|-7010019271447432065[0] + // Public signature debug description: foo3(){} + override suspend fun foo3(): Unit + + // CHECK: + // Mangled name: C#foo4(){} + // Public signature: /C.foo4|-6020267482604528061[0] + // Public signature debug description: foo4(){} + override fun foo4(): Unit + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +suspend fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.ir.txt new file mode 100644 index 00000000000..24d1ba306a7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.ir.txt @@ -0,0 +1,316 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + BLOCK_BODY + FUN name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, lambda:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:lambda index:0 type:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, lambda:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:lambda index:0 type:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, lambda:java.util.function.Function?) returnType:kotlin.Unit + overridden: + public abstract fun foo (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:lambda index:0 type:java.util.function.Function? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.D, lambda:java.util.function.Function?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:lambda index:0 type:java.util.function.Function? + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.A; .Java2]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, lambda:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:lambda index:0 type:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, lambda:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:lambda index:0 type:@[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.A; .Java2]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [noinline] + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:FINAL <> ($this:.A, lambda:kotlin.Function1) returnType:kotlin.Unit [inline,fake_override] + overridden: + public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:lambda index:0 type:kotlin.Function1 [crossinline] + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, lambda:java.util.function.Function?) returnType:kotlin.Unit + overridden: + public abstract fun foo (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:lambda index:0 type:java.util.function.Function? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, lambda:java.util.function.Function?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (lambda: @[FlexibleNullability] java.util.function.Function<@[FlexibleNullability] kotlin.Int?, @[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:lambda index:0 type:java.util.function.Function? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + BLOCK_BODY + CALL 'public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo (lambda: kotlin.Function1): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 + CALL 'public final fun foo2 (lambda: kotlin.Function1): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + lambda: FUN_EXPR type=kotlin.Function1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Int + VALUE_PARAMETER name:it index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (it: kotlin.Int): kotlin.Int declared in .test' + CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt new file mode 100644 index 00000000000..979c79f7f17 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt @@ -0,0 +1,51 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK + +// FILE: Java1.java +public class Java1 extends A { } + +// FILE: Java2.java +import java.util.function.Function; + +public interface Java2 { + public void foo(Function lambda); + public void foo2(Function lambda); +} + +// FILE: 1.kt +import java.util.function.Function + +open class A { + inline fun foo(noinline lambda: (Int) -> Int) {} + inline fun foo2(crossinline lambda: (Int) -> Int) {} +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +abstract class C: Java1(), Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class D: Java1(), Java2 { //Kotlin ← Java1, Java2 ← Kotlin2 + override fun foo(lambda: Function?) { } + override fun foo2(lambda: Function?) { } +} + +abstract class E : A(), Java2 //Kotlin ← Java1, Kotlin2 + +class F : A(), Java2{ + override fun foo(lambda: Function?) { } + override fun foo2(lambda: Function?) { } +} + +fun test(b: B, c: C, d: D, e: E, f: F) { + b.foo { 1 } + b.foo2 { 1 } + c.foo { 1 } + c.foo2 { 1 } + d.foo { 1 } + d.foo2 { 1 } + e.foo { 1 } + e.foo2 { 1 } + f.foo { 1 } + f.foo2 { 1 } +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt.txt new file mode 100644 index 00000000000..b308cccaf0e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt.txt @@ -0,0 +1,114 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + inline fun foo(noinline lambda: Function1) { + } + + inline fun foo2(crossinline lambda: Function1) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class C : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(lambda: Function?) { + } + + override fun foo2(lambda: Function?) { + } + +} + +abstract class E : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +class F : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun foo(lambda: Function?) { + } + + override fun foo2(lambda: Function?) { + } + +} + +fun test(b: B, c: C, d: D, e: E, f: F) { + b.foo(lambda = local fun (it: Int): Int { + return 1 + } +) + b.foo2(lambda = local fun (it: Int): Int { + return 1 + } +) + c.foo(lambda = local fun (it: Int): Int { + return 1 + } +) + c.foo2(lambda = local fun (it: Int): Int { + return 1 + } +) + d.foo(lambda = local fun (it: Int): Int { + return 1 + } +) + d.foo2(lambda = local fun (it: Int): Int { + return 1 + } +) + e.foo(lambda = local fun (it: Int): Int { + return 1 + } +) + e.foo2(lambda = local fun (it: Int): Int { + return 1 + } +) + f.foo(lambda = local fun (it: Int): Int { + return 1 + } +) + f.foo2(lambda = local fun (it: Int): Int { + return 1 + } +) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.sig.kt.txt new file mode 100644 index 00000000000..654efb5b55c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.sig.kt.txt @@ -0,0 +1,197 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Function1){} + // Public signature: /A.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.Function1){} + // Public signature: /A.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + inline fun foo2(crossinline lambda: Function1): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Function1){} + // Public signature: /B.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + /* fake */ override inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.Function1){} + // Public signature: /B.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + /* fake */ override inline fun foo2(crossinline lambda: Function1): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(java.util.function.Function?){} + // Public signature: /C.foo|-2027646979113418157[0] + // Public signature debug description: foo(java.util.function.Function?){} + abstract /* fake */ override fun foo(lambda: Function?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Function1){} + // Public signature: /C.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + /* fake */ override inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: C#foo2(java.util.function.Function?){} + // Public signature: /C.foo2|6174587955000626338[0] + // Public signature debug description: foo2(java.util.function.Function?){} + abstract /* fake */ override fun foo2(lambda: Function?): Unit + + // CHECK: + // Mangled name: C#foo2(kotlin.Function1){} + // Public signature: /C.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + /* fake */ override inline fun foo2(crossinline lambda: Function1): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Function1){} + // Public signature: /D.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + /* fake */ override inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.Function1){} + // Public signature: /D.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + /* fake */ override inline fun foo2(crossinline lambda: Function1): Unit + + // CHECK: + // Mangled name: D#foo(java.util.function.Function?){} + // Public signature: /D.foo|8736849080221256301[0] + // Public signature debug description: foo(java.util.function.Function?){} + override fun foo(lambda: Function?): Unit + + // CHECK: + // Mangled name: D#foo2(java.util.function.Function?){} + // Public signature: /D.foo2|6738159652500587505[0] + // Public signature debug description: foo2(java.util.function.Function?){} + override fun foo2(lambda: Function?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : A, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(java.util.function.Function?){} + // Public signature: /E.foo|-2027646979113418157[0] + // Public signature debug description: foo(java.util.function.Function?){} + abstract /* fake */ override fun foo(lambda: Function?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Function1){} + // Public signature: /E.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + /* fake */ override inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: E#foo2(java.util.function.Function?){} + // Public signature: /E.foo2|6174587955000626338[0] + // Public signature debug description: foo2(java.util.function.Function?){} + abstract /* fake */ override fun foo2(lambda: Function?): Unit + + // CHECK: + // Mangled name: E#foo2(kotlin.Function1){} + // Public signature: /E.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + /* fake */ override inline fun foo2(crossinline lambda: Function1): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : A, Java2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.Function1){} + // Public signature: /F.foo|3353484914788718511[0] + // Public signature debug description: foo(kotlin.Function1){} + /* fake */ override inline fun foo(noinline lambda: Function1): Unit + + // CHECK: + // Mangled name: F#foo2(kotlin.Function1){} + // Public signature: /F.foo2|-5242771116800942755[0] + // Public signature debug description: foo2(kotlin.Function1){} + /* fake */ override inline fun foo2(crossinline lambda: Function1): Unit + + // CHECK: + // Mangled name: F#foo(java.util.function.Function?){} + // Public signature: /F.foo|8736849080221256301[0] + // Public signature debug description: foo(java.util.function.Function?){} + override fun foo(lambda: Function?): Unit + + // CHECK: + // Mangled name: F#foo2(java.util.function.Function?){} + // Public signature: /F.foo2|6738159652500587505[0] + // Public signature debug description: foo2(java.util.function.Function?){} + override fun foo2(lambda: Function?): Unit + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F){} +// Public signature: /test|-7946478318145452671[0] +// Public signature debug description: test(B;C;D;E;F){} +fun test(b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.ir.txt new file mode 100644 index 00000000000..96bccbb7dc1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.ir.txt @@ -0,0 +1,262 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:.Java4) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java1.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java1.Inner' type=.Java1.Inner origin=null + $outer: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java4.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java4.Inner' type=.Java4.Inner origin=null + $outer: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun bar (): kotlin.Unit declared in .Java4.Inner' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .Java4.Inner' type=.Java4.Inner origin=null + $outer: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt new file mode 100644 index 00000000000..d91cadfc56d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt @@ -0,0 +1,72 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM +// FULL_JDK + +// FILE: Java1.java +public class Java1 { + public void foo(Java1 this){}; + public class Inner { + public void bar(Inner this){}; + } +} + +// FILE: Java2.java +public class Java2 extends Java1 { } + +// FILE: Java3.java +public class Java3 extends KotlinClass { } + +// FILE: Java4.java +public class Java4 extends KotlinClass { + public void foo(Java4 this){ }; + public class Inner { + public void bar(Inner this){}; + } +} + +// FILE: 1.kt + +class A : Java1() //Kotlin ← Java + +class B : Java1() { //Kotlin ← Java with explicit override + override fun foo() { } +} + +class C : Java2() //Kotlin ← Java1 ←Java2 + +class D : Java2() { //Kotlin ← Java1 ←Java2 with explicit override + override fun foo() { } +} + +class E : Java3() //Kotlin ← Java ← Kotlin ← Java + +class F : Java3() { //Kotlin ← Java ← Kotlin ← Java with explicit override + override fun foo() { } +} + +class G : Java4() //Kotlin ← Java ← Kotlin ← Java with explicit override in java + +class H : Java4() { //Kotlin ← Java ← Kotlin ← Java with explicit override in java and kotlin + override fun foo() { } +} + +open class KotlinClass: Java1() + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo() + a.Inner().bar() + b.foo() + b.Inner().bar() + c.foo() + c.Inner().bar() + d.foo() + d.Inner().bar() + e.foo() + e.Inner().bar() + f.foo() + f.Inner().bar() + g.foo() + g.Inner().bar() + h.foo() + h.Inner().bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt.txt new file mode 100644 index 00000000000..98fd54f085a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt.txt @@ -0,0 +1,111 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo() + a.Inner().bar() + b.foo() + b.Inner().bar() + c.foo() + c.Inner().bar() + d.foo() + d.Inner().bar() + e.foo() + e.Inner().bar() + f.foo() + f.Inner().bar() + g.foo() + g.Inner().bar() + h.foo() + h.Inner().bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.sig.kt.txt new file mode 100644 index 00000000000..19677ef54d4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.sig.kt.txt @@ -0,0 +1,167 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#foo(){} + // Public signature: /KotlinClass.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.ir.txt new file mode 100644 index 00000000000..7b1acd9c1d4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.ir.txt @@ -0,0 +1,184 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + EXPRESSION_BODY + CONST String type=kotlin.String value="string" + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java2, a:@[FlexibleNullability] kotlin.Int?, b:@[FlexibleNullability] kotlin.Any?, c:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:b index:1 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:c index:2 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java2, a:@[FlexibleNullability] kotlin.Int?, b:@[FlexibleNullability] kotlin.Any?, c:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:b index:1 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:c index:2 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + BLOCK_BODY + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST String type=kotlin.String value="" + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST Null type=kotlin.Nothing? value=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public/*package*/ open fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CONST Null type=kotlin.Nothing? value=null + b: CONST Null type=kotlin.Nothing? value=null + c: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt new file mode 100644 index 00000000000..e32db3002fe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt @@ -0,0 +1,38 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 extends A { } + +// FILE: Java2.java +public class Java2 extends A { + void foo(Integer a, Object b, Object c){ }; +} + +// FILE: 1.kt +open class A { + open fun foo(a: Int = 0, b: Any? = "string", c: Nothing? = null) { } +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : Java1() { //Kotlin ← Java ← Kotlin with explicit override + override fun foo(a: Int, b: Any?, c: Nothing?) { } +} + +class D : Java2() //Kotlin ← Java ← Kotlin with explicit override in java + +class E: Java2() { //Kotlin ← Java ← Kotlin with explicit override in java and kotlin + override fun foo(a: Int, b: Any?, c: Nothing?) { } +} + +fun test(b: B, c: C, d: D, e: E) { + b.foo() + b.foo(1) + c.foo() + c.foo(1, "", null) + d.foo() + d.foo(1, null, null) + e.foo() + e.foo(null, null, null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt.txt new file mode 100644 index 00000000000..facf7ecde54 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt.txt @@ -0,0 +1,64 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo(a: Int = 0, b: Any? = "string", c: Nothing? = null) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(a: Int, b: Any?, c: Nothing?) { + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo(a: Int, b: Any?, c: Nothing?) { + } + +} + +fun test(b: B, c: C, d: D, e: E) { + b.foo() + b.foo(a = 1) + c.foo() + c.foo(a = 1, b = "", c = null) + d.foo() + d.foo(a = 1, b = null, c = null) + e.foo() + e.foo(a = null, b = null, c = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.sig.kt.txt new file mode 100644 index 00000000000..2c0431deea1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.sig.kt.txt @@ -0,0 +1,107 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /A.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + open fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /B.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + /* fake */ override fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /C.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + override fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /D.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + /* fake */ override fun foo(a: Int, b: Any?, c: Nothing?): Unit + + // CHECK: + // Mangled name: D#foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + // Public signature: /D.foo|2458295513865718285[0] + // Public signature debug description: foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + package /* fake */ override fun foo(a: Int?, b: Any?, c: Any?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + // Public signature: /E.foo|2458295513865718285[0] + // Public signature debug description: foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + package /* fake */ override fun foo(a: Int?, b: Any?, c: Any?): Unit + + // CHECK: + // Mangled name: E#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /E.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + override fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: #test(B;C;D;E){} +// Public signature: /test|-2264777070922935105[0] +// Public signature debug description: test(B;C;D;E){} +fun test(b: B, c: C, d: D, e: E): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.ir.txt new file mode 100644 index 00000000000..ca7e87bbf9c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.ir.txt @@ -0,0 +1,112 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + public abstract fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.KotlinInterface; .Java1]' + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .KotlinInterface + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt new file mode 100644 index 00000000000..25adf4d927d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt @@ -0,0 +1,35 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(Java1 this){ } +} + +// FILE: Java2.java +public interface Java2 { + public void foo(); +} + +// FILE: 1.kt + +class A : Java1(), Java2 + +class B : Java1(), Java2 { + override fun foo() { } +} + +class C : KotlinInterface, Java1() { + override fun foo() { } + +} + +interface KotlinInterface { + fun foo() +} + +fun test(a: A, b: B, c: C) { + a.foo() + b.foo() + c.foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt.txt new file mode 100644 index 00000000000..2ada8918e27 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt.txt @@ -0,0 +1,43 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +interface KotlinInterface { + abstract fun foo() + +} + +fun test(a: A, b: B, c: C) { + a.foo() + b.foo() + c.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.sig.kt.txt new file mode 100644 index 00000000000..473114426cb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.sig.kt.txt @@ -0,0 +1,71 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(){} + // Public signature: /KotlinInterface.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.ir.txt new file mode 100644 index 00000000000..b05fa370354 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.ir.txt @@ -0,0 +1,199 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + EXPRESSION_BODY + CONST String type=kotlin.String value="string" + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + BLOCK_BODY + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] kotlin.Int?, b:@[FlexibleNullability] kotlin.Any?, c:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Int? + VALUE_PARAMETER name:b index:1 type:@[FlexibleNullability] kotlin.Any? + VALUE_PARAMETER name:c index:2 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.A; .Java1]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $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:.A, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .A + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Int?, b:kotlin.Any?, c:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Int? + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.A; .Java2]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + overridden: + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .A + public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Int + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinInterface, a:kotlin.Int, b:kotlin.Any?, c:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Int + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + VALUE_PARAMETER name:b index:1 type:kotlin.Any? + EXPRESSION_BODY + CONST String type=kotlin.String value="string2" + VALUE_PARAMETER name:c index:2 type:kotlin.Nothing? + EXPRESSION_BODY + CONST Null type=kotlin.Nothing? value=null + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + BLOCK_BODY + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST Null type=kotlin.Nothing? value=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] kotlin.Int?, b: @[FlexibleNullability] kotlin.Any?, c: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST String type=kotlin.String value="" + c: CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Int?, b: kotlin.Any?, c: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + b: CONST String type=kotlin.String value="" + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST String type=kotlin.String value="" + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.Int, b: kotlin.Any?, c: kotlin.Nothing?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Int type=kotlin.Int value=1 + b: CONST Null type=kotlin.Nothing? value=null + c: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt new file mode 100644 index 00000000000..b16b69eb5d8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt @@ -0,0 +1,41 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + void foo(Integer a, Object b, Object c); +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: 1.kt +open class A { + open fun foo(a: Int = 0, b: Any? = "string", c: Nothing? = null) { } +} + +abstract class B : A(), Java1 //Kotlin ← Java, Kotlin2 + +class C: A(), Java1 { //Kotlin ← Java, Kotlin2 with explicit override + override fun foo(a: Int?, b: Any?, c: Any?) { } +} + +class D : A(), Java2 { //Kotlin ← Java, Kotlin2 ← Kotlin3 + override fun foo(a: Int, b: Any?, c: Nothing?) { } +} + +interface KotlinInterface { + fun foo(a: Int = 1, b: Any? = "string2", c: Nothing? = null) { } +} + + +fun test(b: B, c: C, d: D) { + b.foo() + b.foo(1, null, null) + b.foo(1, "", "") + c.foo() + c.foo(null, "", null) + c.foo(1, "", null) + d.foo() + d.foo(1, null, null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt.txt new file mode 100644 index 00000000000..7e318964849 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt.txt @@ -0,0 +1,61 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo(a: Int = 0, b: Any? = "string", c: Nothing? = null) { + } + +} + +abstract class B : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +class C : A, Java1 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun foo(a: Int?, b: Any?, c: Any?) { + } + +} + +class D : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun foo(a: Int, b: Any?, c: Nothing?) { + } + +} + +interface KotlinInterface { + fun foo(a: Int = 1, b: Any? = "string2", c: Nothing? = null) { + } + +} + +fun test(b: B, c: C, d: D) { + b.foo() + b.foo(a = 1, b = null, c = null) + b.foo(a = 1, b = "", c = "") + c.foo() + c.foo(a = null, b = "", c = null) + c.foo(a = 1, b = "", c = null) + d.foo() + d.foo(a = 1, b = null, c = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.sig.kt.txt new file mode 100644 index 00000000000..a44467a8c47 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.sig.kt.txt @@ -0,0 +1,101 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /A.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + open fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : A, Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + // Public signature: /B.foo|2458295513865718285[0] + // Public signature debug description: foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + abstract /* fake */ override fun foo(a: Int?, b: Any?, c: Any?): Unit + + // CHECK: + // Mangled name: B#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /B.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + /* fake */ override fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : A, Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /C.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + /* fake */ override fun foo(a: Int, b: Any?, c: Nothing?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + // Public signature: /C.foo|2458295513865718285[0] + // Public signature debug description: foo(kotlin.Int?;kotlin.Any?;kotlin.Any?){} + override fun foo(a: Int?, b: Any?, c: Any?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : A, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /D.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + override fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + // Public signature: /KotlinInterface.foo|6201035694832034790[0] + // Public signature debug description: foo(kotlin.Int;kotlin.Any?;kotlin.Nothing?){} + fun foo(a: Int, b: Any?, c: Nothing?): Unit + +} + +// CHECK: +// Mangled name: #test(B;C;D){} +// Public signature: /test|-8823403443617116000[0] +// Public signature debug description: test(B;C;D){} +fun test(b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.ir.txt new file mode 100644 index 00000000000..b40187a0d87 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.ir.txt @@ -0,0 +1,1087 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.lang.Number] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.lang.Number]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.lang.Number] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.lang.Number]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .B' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .B' + CONST Float type=kotlin.Float value=3.0 + FUN name:intValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .B' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .D' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + public abstract fun byteValue (): kotlin.Byte declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + public abstract fun byteValue (): kotlin.Byte declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.Number + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .F' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .F' + CONST Float type=kotlin.Float value=3.0 + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Byte + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .H' + CONST Byte type=kotlin.Byte value=1 + FUN name:toDouble visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Double + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toDouble (): kotlin.Double declared in .H' + CONST Double type=kotlin.Double value=1.0 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Double [fake_override,operator] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Float [fake_override,operator] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override,operator] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Long [fake_override,operator] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Double [fake_override,operator] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Float [fake_override,operator] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override,operator] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Long [fake_override,operator] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Byte + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .J' + CONST Byte type=kotlin.Byte value=1 + FUN name:toShort visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Short + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in .J' + CONST Short type=kotlin.Short value=2 + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .L' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .L' + CONST Float type=kotlin.Float value=3.0 + FUN name:intValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .L' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .L' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun doubleValue (): kotlin.Double declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun floatValue (): kotlin.Float declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun intValue (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:longValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun longValue (): kotlin.Long declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun doubleValue (): kotlin.Double declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun floatValue (): kotlin.Float declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:longValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun longValue (): kotlin.Long declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Int + overridden: + public open fun intValue (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.A; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in .A + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:P modality:ABSTRACT visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:ABSTRACT visibility:public superTypes:[.A; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in .A + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .P' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .P' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:Q modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:R modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toInt visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Int + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toInt (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:byteValue visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Byte + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + VALUE_PARAMETER name:n index:13 type:.N + VALUE_PARAMETER name:o index:14 type:.O + VALUE_PARAMETER name:p index:15 type:.P + VALUE_PARAMETER name:q index:16 type:.Q + VALUE_PARAMETER name:r index:17 type:.R + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun shortValue (): kotlin.Short declared in .A' type=kotlin.Short origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .B' type=kotlin.Byte origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun longValue (): kotlin.Long declared in .B' type=kotlin.Long origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun longValue (): kotlin.Long declared in .D' type=kotlin.Long origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .E' type=kotlin.Byte origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .F' type=kotlin.Double origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toShort (): kotlin.Short declared in .G' type=kotlin.Short origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .G' type=kotlin.Byte origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toShort (): kotlin.Short declared in .H' type=kotlin.Short origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toInt (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toInt (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toByte (): kotlin.Byte declared in .J' type=kotlin.Byte origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .K' type=kotlin.Int origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .K' type=kotlin.Byte origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .L' type=kotlin.Double origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .M' type=kotlin.Double origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .N' type=kotlin.Int origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .O' type=kotlin.Int origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .O' type=kotlin.Byte origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .P' type=kotlin.Int origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun shortValue (): kotlin.Short declared in .P' type=kotlin.Short origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .Q' type=kotlin.Int origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .Q' type=kotlin.Byte origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .R' type=kotlin.Int origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.kt.txt new file mode 100644 index 00000000000..ab2227ed5e8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.fir.kt.txt @@ -0,0 +1,280 @@ +abstract class A : Number { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +class B : Number { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class C : Number, Java2 { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +abstract class D : Number, Java2 { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class E : Number, KotlinInterface { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +abstract class F : Number, KotlinInterface { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + +} + +abstract class G : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class H : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toByte(): Byte { + return 1B + } + + override fun toDouble(): Double { + return 1.0 + } + +} + +abstract class I : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class J : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun toByte(): Byte { + return 1B + } + + override fun toShort(): Short { + return 2S + } + +} + +abstract class K : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class L : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +class M : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class N : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun intValue(): Int { + return 10 + } + +} + +abstract class O : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +abstract class P : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class Q : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class R : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toInt(): Int { + return 1 + } + +} + +interface KotlinInterface { + abstract fun byteValue(): Byte + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R) { + a.shortValue() /*~> Unit */ + a.intValue() /*~> Unit */ + b.byteValue() /*~> Unit */ + b.longValue() /*~> Unit */ + c.intValue() /*~> Unit */ + d.intValue() /*~> Unit */ + d.longValue() /*~> Unit */ + e.byteValue() /*~> Unit */ + e.intValue() /*~> Unit */ + f.intValue() /*~> Unit */ + f.doubleValue() /*~> Unit */ + g.toShort() /*~> Unit */ + g.toByte() /*~> Unit */ + h.toShort() /*~> Unit */ + h.toInt() /*~> Unit */ + i.toInt() /*~> Unit */ + j.toByte() /*~> Unit */ + k.intValue() /*~> Unit */ + k.byteValue() /*~> Unit */ + l.intValue() /*~> Unit */ + l.doubleValue() /*~> Unit */ + m.intValue() /*~> Unit */ + m.doubleValue() /*~> Unit */ + n.intValue() /*~> Unit */ + o.intValue() /*~> Unit */ + o.byteValue() /*~> Unit */ + p.intValue() /*~> Unit */ + p.shortValue() /*~> Unit */ + q.intValue() /*~> Unit */ + q.toByte() /*~> Unit */ + r.intValue() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.ir.txt new file mode 100644 index 00000000000..96ae8e8dc83 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.ir.txt @@ -0,0 +1,1087 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.lang.Number] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[java.lang.Number]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.lang.Number] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[java.lang.Number]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .B' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .B' + CONST Float type=kotlin.Float value=3.0 + FUN name:intValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .B' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .D' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + public abstract fun byteValue (): kotlin.Byte declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[java.lang.Number; .KotlinInterface]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in java.lang.Number + public abstract fun byteValue (): kotlin.Byte declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in java.lang.Number + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in java.lang.Number + $this: VALUE_PARAMETER name: type:java.lang.Number + 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.lang.Number + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .F' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in java.lang.Number + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .F' + CONST Float type=kotlin.Float value=3.0 + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Byte + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .H' + CONST Byte type=kotlin.Byte value=1 + FUN name:toDouble visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Double + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toDouble (): kotlin.Double declared in .H' + CONST Double type=kotlin.Double value=1.0 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java3) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Byte + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .J' + CONST Byte type=kotlin.Byte value=1 + FUN name:toShort visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Short + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in .J' + CONST Short type=kotlin.Short value=2 + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java4 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:doubleValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Double + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun doubleValue (): kotlin.Double declared in .L' + CONST Double type=kotlin.Double value=4.0 + FUN name:floatValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Float + overridden: + public abstract fun floatValue (): kotlin.Float declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun floatValue (): kotlin.Float declared in .L' + CONST Float type=kotlin.Float value=3.0 + FUN name:intValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .L' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in .Java4 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .L' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun doubleValue (): kotlin.Double declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun floatValue (): kotlin.Float declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun intValue (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:longValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun longValue (): kotlin.Long declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun doubleValue (): kotlin.Double declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun floatValue (): kotlin.Float declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:longValue visibility:public modality:OPEN <> ($this:.Java5) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun longValue (): kotlin.Long declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .Java5 + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Int + overridden: + public open fun intValue (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.A; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun intValue (): kotlin.Int declared in .A + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:longValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun longValue (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:P modality:ABSTRACT visibility:public superTypes:[.A; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:ABSTRACT visibility:public superTypes:[.A; .Java2]' + FUN FAKE_OVERRIDE name:byteValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Byte [fake_override] + overridden: + public open fun byteValue (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + FUN FAKE_OVERRIDE name:doubleValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun doubleValue (): kotlin.Double declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:floatValue visibility:public modality:ABSTRACT <> ($this:java.lang.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun floatValue (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:shortValue visibility:public modality:OPEN <> ($this:java.lang.Number) returnType:kotlin.Short [fake_override] + overridden: + public open fun shortValue (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:java.lang.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:intValue visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Int + overridden: + public abstract fun intValue (): kotlin.Int declared in .A + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun intValue (): kotlin.Int declared in .P' + CONST Int type=kotlin.Int value=1 + FUN name:longValue visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Long + overridden: + public abstract fun longValue (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun longValue (): kotlin.Long declared in .P' + CONST Long type=kotlin.Long value=2 + CLASS CLASS name:Q modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:R modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:intValue visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public open fun intValue (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toInt visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Int + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toInt (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:byteValue visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Byte + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + VALUE_PARAMETER name:n index:13 type:.N + VALUE_PARAMETER name:o index:14 type:.O + VALUE_PARAMETER name:p index:15 type:.P + VALUE_PARAMETER name:q index:16 type:.Q + VALUE_PARAMETER name:r index:17 type:.R + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun shortValue (): kotlin.Short declared in .A' type=kotlin.Short origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .B' type=kotlin.Byte origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun longValue (): kotlin.Long declared in .B' type=kotlin.Long origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun longValue (): kotlin.Long declared in .D' type=kotlin.Long origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .E' type=kotlin.Byte origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .F' type=kotlin.Double origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toShort (): kotlin.Short declared in .G' type=kotlin.Short origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .G' type=kotlin.Byte origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toShort (): kotlin.Short declared in .H' type=kotlin.Short origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toInt (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toInt (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toByte (): kotlin.Byte declared in .J' type=kotlin.Byte origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun intValue (): kotlin.Int declared in .K' type=kotlin.Int origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .K' type=kotlin.Byte origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .L' type=kotlin.Double origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun doubleValue (): kotlin.Double declared in .M' type=kotlin.Double origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .N' type=kotlin.Int origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .O' type=kotlin.Int origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun byteValue (): kotlin.Byte declared in .O' type=kotlin.Byte origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .P' type=kotlin.Int origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun shortValue (): kotlin.Short declared in .P' type=kotlin.Short origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .Q' type=kotlin.Int origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .Q' type=kotlin.Byte origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun intValue (): kotlin.Int declared in .R' type=kotlin.Int origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt new file mode 100644 index 00000000000..2af13ccd109 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt @@ -0,0 +1,220 @@ +// TARGET_BACKEND: JVM +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: Java1.java +public abstract class Java1 extends Number { } + +// FILE: Java2.java +public interface Java2 { + default int intValue(){ + return 2; + } +} + +// FILE: Java3.java +public class Java3 extends Number { + @Override + public int intValue() { + return 0; + } + + @Override + public long longValue() { + return 2; + } + + @Override + public float floatValue() { + return 3; + } + + @Override + public double doubleValue() { + return 4; + } +} +// FILE: Java4.java +public abstract class Java4 extends A { } + +// FILE: Java5.java +public class Java5 extends A { + @Override + public int intValue() { + return 0; + } + + @Override + public long longValue() { + return 1; + } + + @Override + public float floatValue() { + return 2; + } + + @Override + public double doubleValue() { + return 3; + } +} + +// FILE: 1.kt +abstract class A : java.lang.Number() //Kotlin ← Java + +class B : java.lang.Number() { + override fun intValue(): Int { + return 1 + } + override fun longValue(): Long { + return 2 + } + override fun floatValue(): Float { + return 3.0F + } + override fun doubleValue(): Double { + return 4.0 + } +} + +abstract class C : java.lang.Number(), Java2 //Kotlin ← Java1, Java2 + +abstract class D : java.lang.Number(), Java2 { + override fun intValue(): Int { + return 1 + } + override fun longValue(): Long { + return 2 + } +} + +abstract class E : java.lang.Number(), KotlinInterface //Kotlin ← Java, Kotlin2 + +abstract class F : java.lang.Number(), KotlinInterface { + override fun floatValue(): Float { + return 3.0F + } + override fun doubleValue(): Double { + return 4.0 + } +} + +abstract class G : Java1() //Kotlin ← Java1 ← Java2 + +abstract class H : Java1() { + override fun toByte(): Byte { + return 1 + } + override fun toDouble(): Double { + return 1.0 + } +} + +abstract class I : Java3() //Kotlin ← Java1 (override) ← Java2 + +class J : Java3() { + override fun toByte(): Byte { + return 1 + } + override fun toShort(): Short { + return 2 + } +} + +abstract class K : Java4() //Kotlin ← Java ← Kotlin ← Java + +class L : Java4() { + override fun intValue(): Int { + return 1 + } + override fun longValue(): Long { + return 2 + } + override fun floatValue(): Float { + return 3.0F + } + override fun doubleValue(): Double { + return 4.0 + } +} + +class M : Java5() //Kotlin ← Java(override) ← Kotlin ← Java + +class N : Java5() { + override fun intValue(): Int { + return 10 + } +} + +abstract class O : A(), Java2 // Kotlin ← Java, Kotlin2 ← Java2 + +abstract class P : A(), Java2 { + override fun intValue(): Int { + return 1 + } + override fun longValue(): Long { + return 2 + } +} + +abstract class Q : Java1() , Java2 //Kotlin ← Java1, Java2 ← Java3 + +abstract class R : Java1() , Java2 { + override fun toInt(): Int { + return 1 + } +} + +interface KotlinInterface { + fun byteValue(): Byte +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q,r: R){ + a.shortValue() + a.intValue() + + b.byteValue() + b.longValue() + + c.intValue() + + d.intValue() + d.longValue() + + e.byteValue() + e.intValue() + + f.intValue() + f.doubleValue() + + g.toShort() + g.toByte() + + h.toShort() + h.toInt() + + i.toInt() + j.toByte() + + k.intValue() + k.byteValue() + + l.intValue() + l.doubleValue() + + m.intValue() + m.doubleValue() + + n.intValue() + + o.intValue() + o.byteValue() + + p.intValue() + p.shortValue() + + q.intValue() + q.toByte() + + r.intValue() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt.txt new file mode 100644 index 00000000000..ab2227ed5e8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt.txt @@ -0,0 +1,280 @@ +abstract class A : Number { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +class B : Number { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class C : Number, Java2 { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +abstract class D : Number, Java2 { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class E : Number, KotlinInterface { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +abstract class F : Number, KotlinInterface { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + +} + +abstract class G : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class H : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toByte(): Byte { + return 1B + } + + override fun toDouble(): Double { + return 1.0 + } + +} + +abstract class I : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class J : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun toByte(): Byte { + return 1B + } + + override fun toShort(): Short { + return 2S + } + +} + +abstract class K : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class L : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun doubleValue(): Double { + return 4.0 + } + + override fun floatValue(): Float { + return 3.0F + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +class M : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class N : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun intValue(): Int { + return 10 + } + +} + +abstract class O : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +abstract class P : A, Java2 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun intValue(): Int { + return 1 + } + + override fun longValue(): Long { + return 2L + } + +} + +abstract class Q : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class R : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toInt(): Int { + return 1 + } + +} + +interface KotlinInterface { + abstract fun byteValue(): Byte + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R) { + a.shortValue() /*~> Unit */ + a.intValue() /*~> Unit */ + b.byteValue() /*~> Unit */ + b.longValue() /*~> Unit */ + c.intValue() /*~> Unit */ + d.intValue() /*~> Unit */ + d.longValue() /*~> Unit */ + e.byteValue() /*~> Unit */ + e.intValue() /*~> Unit */ + f.intValue() /*~> Unit */ + f.doubleValue() /*~> Unit */ + g.toShort() /*~> Unit */ + g.toByte() /*~> Unit */ + h.toShort() /*~> Unit */ + h.toInt() /*~> Unit */ + i.toInt() /*~> Unit */ + j.toByte() /*~> Unit */ + k.intValue() /*~> Unit */ + k.byteValue() /*~> Unit */ + l.intValue() /*~> Unit */ + l.doubleValue() /*~> Unit */ + m.intValue() /*~> Unit */ + m.doubleValue() /*~> Unit */ + n.intValue() /*~> Unit */ + o.intValue() /*~> Unit */ + o.byteValue() /*~> Unit */ + p.intValue() /*~> Unit */ + p.shortValue() /*~> Unit */ + q.intValue() /*~> Unit */ + q.toByte() /*~> Unit */ + r.intValue() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.sig.kt.txt new file mode 100644 index 00000000000..e69c6a0fecb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.sig.kt.txt @@ -0,0 +1,950 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Number { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#byteValue(){}kotlin.Byte + // Public signature: /A.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: A#doubleValue(){}kotlin.Double + // Public signature: /A.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: A#floatValue(){}kotlin.Float + // Public signature: /A.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: A#intValue(){}kotlin.Int + // Public signature: /A.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + abstract /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: A#longValue(){}kotlin.Long + // Public signature: /A.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: A#shortValue(){}kotlin.Short + // Public signature: /A.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Number { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#byteValue(){}kotlin.Byte + // Public signature: /B.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: B#shortValue(){}kotlin.Short + // Public signature: /B.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: B#doubleValue(){}kotlin.Double + // Public signature: /B.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: B#floatValue(){}kotlin.Float + // Public signature: /B.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: B#intValue(){}kotlin.Int + // Public signature: /B.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: B#longValue(){}kotlin.Long + // Public signature: /B.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + override fun longValue(): Long + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Number, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#byteValue(){}kotlin.Byte + // Public signature: /C.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: C#doubleValue(){}kotlin.Double + // Public signature: /C.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: C#floatValue(){}kotlin.Float + // Public signature: /C.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: C#intValue(){}kotlin.Int + // Public signature: /C.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: C#longValue(){}kotlin.Long + // Public signature: /C.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: C#shortValue(){}kotlin.Short + // Public signature: /C.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Number, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#byteValue(){}kotlin.Byte + // Public signature: /D.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: D#doubleValue(){}kotlin.Double + // Public signature: /D.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: D#floatValue(){}kotlin.Float + // Public signature: /D.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: D#shortValue(){}kotlin.Short + // Public signature: /D.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: D#intValue(){}kotlin.Int + // Public signature: /D.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: D#longValue(){}kotlin.Long + // Public signature: /D.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + override fun longValue(): Long + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Number, KotlinInterface { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#byteValue(){}kotlin.Byte + // Public signature: /E.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: E#doubleValue(){}kotlin.Double + // Public signature: /E.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: E#floatValue(){}kotlin.Float + // Public signature: /E.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: E#intValue(){}kotlin.Int + // Public signature: /E.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + abstract /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: E#longValue(){}kotlin.Long + // Public signature: /E.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: E#shortValue(){}kotlin.Short + // Public signature: /E.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Number, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#byteValue(){}kotlin.Byte + // Public signature: /F.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: F#intValue(){}kotlin.Int + // Public signature: /F.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + abstract /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: F#longValue(){}kotlin.Long + // Public signature: /F.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: F#shortValue(){}kotlin.Short + // Public signature: /F.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: F#doubleValue(){}kotlin.Double + // Public signature: /F.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: F#floatValue(){}kotlin.Float + // Public signature: /F.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + override fun floatValue(): Float + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java1 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#toByte(){}kotlin.Byte + // Public signature: /G.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: G#toChar(){}kotlin.Char + // Public signature: /G.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: G#toDouble(){}kotlin.Double + // Public signature: /G.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: G#toFloat(){}kotlin.Float + // Public signature: /G.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: G#toInt(){}kotlin.Int + // Public signature: /G.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: G#toLong(){}kotlin.Long + // Public signature: /G.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: G#toShort(){}kotlin.Short + // Public signature: /G.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java1 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#toChar(){}kotlin.Char + // Public signature: /H.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: H#toFloat(){}kotlin.Float + // Public signature: /H.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: H#toInt(){}kotlin.Int + // Public signature: /H.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: H#toLong(){}kotlin.Long + // Public signature: /H.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: H#toShort(){}kotlin.Short + // Public signature: /H.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + + // CHECK JVM_IR: + // Mangled name: H#toByte(){}kotlin.Byte + // Public signature: /H.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: H#toDouble(){}kotlin.Double + // Public signature: /H.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + override fun toDouble(): Double + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#toByte(){}kotlin.Byte + // Public signature: /I.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: I#toChar(){}kotlin.Char + // Public signature: /I.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: I#toDouble(){}kotlin.Double + // Public signature: /I.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + @Override + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: I#toFloat(){}kotlin.Float + // Public signature: /I.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + @Override + /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: I#toInt(){}kotlin.Int + // Public signature: /I.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + @Override + /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: I#toLong(){}kotlin.Long + // Public signature: /I.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + @Override + /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: I#toShort(){}kotlin.Short + // Public signature: /I.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: J#toChar(){}kotlin.Char + // Public signature: /J.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: J#toDouble(){}kotlin.Double + // Public signature: /J.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + @Override + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: J#toFloat(){}kotlin.Float + // Public signature: /J.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + @Override + /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: J#toInt(){}kotlin.Int + // Public signature: /J.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + @Override + /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: J#toLong(){}kotlin.Long + // Public signature: /J.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + @Override + /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: J#toByte(){}kotlin.Byte + // Public signature: /J.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: J#toShort(){}kotlin.Short + // Public signature: /J.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + override fun toShort(): Short + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +abstract class K : Java4 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: K#byteValue(){}kotlin.Byte + // Public signature: /K.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: K#doubleValue(){}kotlin.Double + // Public signature: /K.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: K#floatValue(){}kotlin.Float + // Public signature: /K.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: K#intValue(){}kotlin.Int + // Public signature: /K.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + abstract /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: K#longValue(){}kotlin.Long + // Public signature: /K.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: K#shortValue(){}kotlin.Short + // Public signature: /K.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java4 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: L#byteValue(){}kotlin.Byte + // Public signature: /L.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: L#shortValue(){}kotlin.Short + // Public signature: /L.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: L#doubleValue(){}kotlin.Double + // Public signature: /L.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: L#floatValue(){}kotlin.Float + // Public signature: /L.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: L#intValue(){}kotlin.Int + // Public signature: /L.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: L#longValue(){}kotlin.Long + // Public signature: /L.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + override fun longValue(): Long + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : Java5 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: M#byteValue(){}kotlin.Byte + // Public signature: /M.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: M#doubleValue(){}kotlin.Double + // Public signature: /M.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + @Override + /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: M#floatValue(){}kotlin.Float + // Public signature: /M.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + @Override + /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: M#intValue(){}kotlin.Int + // Public signature: /M.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + @Override + /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: M#longValue(){}kotlin.Long + // Public signature: /M.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + @Override + /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: M#shortValue(){}kotlin.Short + // Public signature: /M.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : Java5 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: N#byteValue(){}kotlin.Byte + // Public signature: /N.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: N#doubleValue(){}kotlin.Double + // Public signature: /N.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + @Override + /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: N#floatValue(){}kotlin.Float + // Public signature: /N.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + @Override + /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: N#longValue(){}kotlin.Long + // Public signature: /N.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + @Override + /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: N#shortValue(){}kotlin.Short + // Public signature: /N.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: N#intValue(){}kotlin.Int + // Public signature: /N.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + override fun intValue(): Int + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +abstract class O : A, Java2 { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: O#byteValue(){}kotlin.Byte + // Public signature: /O.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: O#doubleValue(){}kotlin.Double + // Public signature: /O.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: O#floatValue(){}kotlin.Float + // Public signature: /O.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: O#intValue(){}kotlin.Int + // Public signature: /O.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: O#longValue(){}kotlin.Long + // Public signature: /O.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + abstract /* fake */ override fun longValue(): Long + + // CHECK JVM_IR: + // Mangled name: O#shortValue(){}kotlin.Short + // Public signature: /O.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + +} + +// CHECK: +// Mangled name: P +// Public signature: /P|null[0] +abstract class P : A, Java2 { + // CHECK: + // Mangled name: P#(){} + // Public signature: /P.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: P#byteValue(){}kotlin.Byte + // Public signature: /P.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + /* fake */ override fun byteValue(): Byte + + // CHECK JVM_IR: + // Mangled name: P#doubleValue(){}kotlin.Double + // Public signature: /P.doubleValue|-6902899017265368517[0] + // Public signature debug description: doubleValue(){}kotlin.Double + abstract /* fake */ override fun doubleValue(): Double + + // CHECK JVM_IR: + // Mangled name: P#floatValue(){}kotlin.Float + // Public signature: /P.floatValue|6829761068481402777[0] + // Public signature debug description: floatValue(){}kotlin.Float + abstract /* fake */ override fun floatValue(): Float + + // CHECK JVM_IR: + // Mangled name: P#shortValue(){}kotlin.Short + // Public signature: /P.shortValue|4665777070918308009[0] + // Public signature debug description: shortValue(){}kotlin.Short + /* fake */ override fun shortValue(): Short + + // CHECK JVM_IR: + // Mangled name: P#intValue(){}kotlin.Int + // Public signature: /P.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: P#longValue(){}kotlin.Long + // Public signature: /P.longValue|-7741372667282668243[0] + // Public signature debug description: longValue(){}kotlin.Long + override fun longValue(): Long + +} + +// CHECK: +// Mangled name: Q +// Public signature: /Q|null[0] +abstract class Q : Java1, Java2 { + // CHECK: + // Mangled name: Q#(){} + // Public signature: /Q.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: Q#intValue(){}kotlin.Int + // Public signature: /Q.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: Q#toByte(){}kotlin.Byte + // Public signature: /Q.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: Q#toChar(){}kotlin.Char + // Public signature: /Q.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: Q#toDouble(){}kotlin.Double + // Public signature: /Q.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: Q#toFloat(){}kotlin.Float + // Public signature: /Q.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: Q#toInt(){}kotlin.Int + // Public signature: /Q.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: Q#toLong(){}kotlin.Long + // Public signature: /Q.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: Q#toShort(){}kotlin.Short + // Public signature: /Q.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: R +// Public signature: /R|null[0] +abstract class R : Java1, Java2 { + // CHECK: + // Mangled name: R#(){} + // Public signature: /R.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: R#intValue(){}kotlin.Int + // Public signature: /R.intValue|-8318230696787382776[0] + // Public signature debug description: intValue(){}kotlin.Int + /* fake */ override fun intValue(): Int + + // CHECK JVM_IR: + // Mangled name: R#toByte(){}kotlin.Byte + // Public signature: /R.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: R#toChar(){}kotlin.Char + // Public signature: /R.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: R#toDouble(){}kotlin.Double + // Public signature: /R.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: R#toFloat(){}kotlin.Float + // Public signature: /R.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: R#toLong(){}kotlin.Long + // Public signature: /R.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: R#toShort(){}kotlin.Short + // Public signature: /R.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + + // CHECK JVM_IR: + // Mangled name: R#toInt(){}kotlin.Int + // Public signature: /R.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + override fun toInt(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#byteValue(){}kotlin.Byte + // Public signature: /KotlinInterface.byteValue|-6104988242413630386[0] + // Public signature debug description: byteValue(){}kotlin.Byte + abstract fun byteValue(): Byte + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R){} +// Public signature: /test|-2977488972427111385[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.ir.txt new file mode 100644 index 00000000000..a1d2701f435 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.ir.txt @@ -0,0 +1,585 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Number] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Number' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Number]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Number + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Byte + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .C' + CONST Byte type=kotlin.Byte value=1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Byte [fake_override] + annotations: + Override + overridden: + public open fun toByte (): kotlin.Byte declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toShort visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Short [fake_override] + annotations: + Override + overridden: + public open fun toShort (): kotlin.Short declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Double [fake_override] + annotations: + Override + overridden: + public open fun toDouble (): kotlin.Double declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Float [fake_override] + annotations: + Override + overridden: + public open fun toFloat (): kotlin.Float declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + Override + overridden: + public open fun toInt (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Long [fake_override] + annotations: + Override + overridden: + public open fun toLong (): kotlin.Long declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toByte visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Byte + overridden: + public open fun toByte (): kotlin.Byte declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in .E' + CONST Byte type=kotlin.Byte value=5 + FUN name:toShort visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Short + overridden: + public open fun toShort (): kotlin.Short declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in .E' + CONST Short type=kotlin.Short value=6 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.A; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.A; .Java3]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .A + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.A; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.A; .Java3]' + 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 .A + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .A + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .A + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .A + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toFloat visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Float + overridden: + public abstract fun toFloat (): kotlin.Float declared in .A + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toFloat (): kotlin.Float declared in .G' + CONST Float type=kotlin.Float value=1.0 + FUN name:toInt visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public abstract fun toInt (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toInt (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override] + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override] + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override] + overridden: + public abstract fun toByte (): kotlin.Byte declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override] + annotations: + Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead. +If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it. +See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = []), level = ) + DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = ) + overridden: + public open fun toChar (): kotlin.Char declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override] + overridden: + public abstract fun toDouble (): kotlin.Double declared in .Java1 + public open fun toDouble (): kotlin.Double declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override] + overridden: + public abstract fun toFloat (): kotlin.Float declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun toInt (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Number + 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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:toLong visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Long + overridden: + public abstract fun toLong (): kotlin.Long declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toLong (): kotlin.Long declared in .I' + CONST Long type=kotlin.Long value=1 + FUN name:toShort visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Short + overridden: + public abstract fun toShort (): kotlin.Short declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in .I' + CONST Short type=kotlin.Short value=1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toInt (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toShort (): kotlin.Short declared in .A' type=kotlin.Short origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .B' type=kotlin.Byte origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toLong (): kotlin.Long declared in .B' type=kotlin.Long origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toByte (): kotlin.Byte declared in .C' type=kotlin.Byte origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toInt (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toShort (): kotlin.Short declared in .D' type=kotlin.Short origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toInt (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toFloat (): kotlin.Float declared in .E' type=kotlin.Float origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toByte (): kotlin.Byte declared in .E' type=kotlin.Byte origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toInt (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .G' type=kotlin.Byte origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toDouble (): kotlin.Double declared in .H' type=kotlin.Double origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .H' type=kotlin.Byte origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun toByte (): kotlin.Byte declared in .I' type=kotlin.Byte origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun toShort (): kotlin.Short declared in .I' type=kotlin.Short origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt new file mode 100644 index 00000000000..1273e1c6313 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt @@ -0,0 +1,113 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public abstract class Java1 extends A { } + +// FILE: Java2.java +public class Java2 extends A { + @Override + public short toShort() { + return 0; + } + + @Override + public long toLong() { + return 1; + } + + @Override + public int toInt() { + return 2; + } + + @Override + public float toFloat() { + return 3; + } + + @Override + public double toDouble() { return 4; } + + @Override + public byte toByte() { + return 5; + } +} +// FILE: Java3.java +public interface Java3 { + default double toDouble(){ + return 100; + }; +} + +// FILE: 1.kt +abstract class A : Number() + +abstract class B : Java1() // Kotlin ← Java ← Kotlin ← Kotlin + +abstract class C : Java1() { + override fun toByte(): Byte { + return 1 + } +} + +abstract class D : Java2() // Kotlin ← Java(override) ← Kotlin ← Kotlin + +class E : Java2() { + override fun toByte(): Byte { + return 5 + } + override fun toShort(): Short { + return 6 + } +} + +abstract class F : A(), Java3 // Kotlin ← Java, Kotlin2 ← Kotlin3 + +abstract class G : A(), Java3 { + override fun toFloat(): Float { + return 1.0F + } + override fun toInt(): Int { + return 1 + } +} + +abstract class H : Java1(), Java3 //Kotlin ← Java1, Java2 ← Kotlin2 + +abstract class I : Java1(), Java3 { + override fun toLong(): Long { + return 1 + } + override fun toShort(): Short { + return 1 + } +} + + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I){ + a.toInt() + a.toShort() + + b.toByte() + b.toLong() + + c.toByte() + c.toInt() + + d.toShort() + d.toInt() + + e.toFloat() + e.toByte() + + g.toInt() + g.toByte() + + h.toDouble() + h.toByte() + + i.toByte() + i.toShort() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt.txt new file mode 100644 index 00000000000..7275c66bd81 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt.txt @@ -0,0 +1,127 @@ +abstract class A : Number { + constructor() /* primary */ { + super/*Number*/() + /* () */ + + } + +} + +abstract class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toByte(): Byte { + return 1B + } + +} + +abstract class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun toByte(): Byte { + return 5B + } + + override fun toShort(): Short { + return 6S + } + +} + +abstract class F : A, Java3 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +abstract class G : A, Java3 { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun toFloat(): Float { + return 1.0F + } + + override fun toInt(): Int { + return 1 + } + +} + +abstract class H : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +abstract class I : Java1, Java3 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun toLong(): Long { + return 1L + } + + override fun toShort(): Short { + return 1S + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.toInt() /*~> Unit */ + a.toShort() /*~> Unit */ + b.toByte() /*~> Unit */ + b.toLong() /*~> Unit */ + c.toByte() /*~> Unit */ + c.toInt() /*~> Unit */ + d.toShort() /*~> Unit */ + d.toInt() /*~> Unit */ + e.toFloat() /*~> Unit */ + e.toByte() /*~> Unit */ + g.toInt() /*~> Unit */ + g.toByte() /*~> Unit */ + h.toDouble() /*~> Unit */ + h.toByte() /*~> Unit */ + i.toByte() /*~> Unit */ + i.toShort() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.sig.kt.txt new file mode 100644 index 00000000000..aec1543f037 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.sig.kt.txt @@ -0,0 +1,510 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Number { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#toByte(){}kotlin.Byte + // Public signature: /A.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: A#toChar(){}kotlin.Char + // Public signature: /A.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: A#toDouble(){}kotlin.Double + // Public signature: /A.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: A#toFloat(){}kotlin.Float + // Public signature: /A.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: A#toInt(){}kotlin.Int + // Public signature: /A.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: A#toLong(){}kotlin.Long + // Public signature: /A.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: A#toShort(){}kotlin.Short + // Public signature: /A.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#toByte(){}kotlin.Byte + // Public signature: /B.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: B#toChar(){}kotlin.Char + // Public signature: /B.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: B#toDouble(){}kotlin.Double + // Public signature: /B.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: B#toFloat(){}kotlin.Float + // Public signature: /B.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: B#toInt(){}kotlin.Int + // Public signature: /B.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: B#toLong(){}kotlin.Long + // Public signature: /B.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: B#toShort(){}kotlin.Short + // Public signature: /B.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#toChar(){}kotlin.Char + // Public signature: /C.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: C#toDouble(){}kotlin.Double + // Public signature: /C.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + abstract /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: C#toFloat(){}kotlin.Float + // Public signature: /C.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: C#toInt(){}kotlin.Int + // Public signature: /C.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: C#toLong(){}kotlin.Long + // Public signature: /C.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: C#toShort(){}kotlin.Short + // Public signature: /C.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + + // CHECK JVM_IR: + // Mangled name: C#toByte(){}kotlin.Byte + // Public signature: /C.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + override fun toByte(): Byte + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#toByte(){}kotlin.Byte + // Public signature: /D.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + @Override + /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: D#toChar(){}kotlin.Char + // Public signature: /D.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: D#toDouble(){}kotlin.Double + // Public signature: /D.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + @Override + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: D#toFloat(){}kotlin.Float + // Public signature: /D.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + @Override + /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: D#toInt(){}kotlin.Int + // Public signature: /D.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + @Override + /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: D#toLong(){}kotlin.Long + // Public signature: /D.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + @Override + /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: D#toShort(){}kotlin.Short + // Public signature: /D.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + @Override + /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#toChar(){}kotlin.Char + // Public signature: /E.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: E#toDouble(){}kotlin.Double + // Public signature: /E.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + @Override + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: E#toFloat(){}kotlin.Float + // Public signature: /E.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + @Override + /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: E#toInt(){}kotlin.Int + // Public signature: /E.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + @Override + /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: E#toLong(){}kotlin.Long + // Public signature: /E.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + @Override + /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: E#toByte(){}kotlin.Byte + // Public signature: /E.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: E#toShort(){}kotlin.Short + // Public signature: /E.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + override fun toShort(): Short + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : A, Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#toByte(){}kotlin.Byte + // Public signature: /F.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: F#toChar(){}kotlin.Char + // Public signature: /F.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: F#toDouble(){}kotlin.Double + // Public signature: /F.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: F#toFloat(){}kotlin.Float + // Public signature: /F.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: F#toInt(){}kotlin.Int + // Public signature: /F.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: F#toLong(){}kotlin.Long + // Public signature: /F.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: F#toShort(){}kotlin.Short + // Public signature: /F.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : A, Java3 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: G#toByte(){}kotlin.Byte + // Public signature: /G.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: G#toChar(){}kotlin.Char + // Public signature: /G.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: G#toDouble(){}kotlin.Double + // Public signature: /G.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: G#toLong(){}kotlin.Long + // Public signature: /G.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: G#toShort(){}kotlin.Short + // Public signature: /G.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + + // CHECK JVM_IR: + // Mangled name: G#toFloat(){}kotlin.Float + // Public signature: /G.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: G#toInt(){}kotlin.Int + // Public signature: /G.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + override fun toInt(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java1, Java3 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: H#toByte(){}kotlin.Byte + // Public signature: /H.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: H#toChar(){}kotlin.Char + // Public signature: /H.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: H#toDouble(){}kotlin.Double + // Public signature: /H.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: H#toFloat(){}kotlin.Float + // Public signature: /H.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: H#toInt(){}kotlin.Int + // Public signature: /H.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: H#toLong(){}kotlin.Long + // Public signature: /H.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + abstract /* fake */ override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: H#toShort(){}kotlin.Short + // Public signature: /H.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + abstract /* fake */ override fun toShort(): Short + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java1, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: I#toByte(){}kotlin.Byte + // Public signature: /I.toByte|6564132604093419[0] + // Public signature debug description: toByte(){}kotlin.Byte + abstract /* fake */ override fun toByte(): Byte + + // CHECK JVM_IR: + // Mangled name: I#toChar(){}kotlin.Char + // Public signature: /I.toChar|-555627748136403860[0] + // Public signature debug description: toChar(){}kotlin.Char + @DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3") + /* fake */ override fun toChar(): Char + + // CHECK JVM_IR: + // Mangled name: I#toDouble(){}kotlin.Double + // Public signature: /I.toDouble|-2422520430979869925[0] + // Public signature debug description: toDouble(){}kotlin.Double + /* fake */ override fun toDouble(): Double + + // CHECK JVM_IR: + // Mangled name: I#toFloat(){}kotlin.Float + // Public signature: /I.toFloat|5566667750088681187[0] + // Public signature debug description: toFloat(){}kotlin.Float + abstract /* fake */ override fun toFloat(): Float + + // CHECK JVM_IR: + // Mangled name: I#toInt(){}kotlin.Int + // Public signature: /I.toInt|-5424593704201214685[0] + // Public signature debug description: toInt(){}kotlin.Int + abstract /* fake */ override fun toInt(): Int + + // CHECK JVM_IR: + // Mangled name: I#toLong(){}kotlin.Long + // Public signature: /I.toLong|5613274327741145669[0] + // Public signature debug description: toLong(){}kotlin.Long + override fun toLong(): Long + + // CHECK JVM_IR: + // Mangled name: I#toShort(){}kotlin.Short + // Public signature: /I.toShort|-291365914034102706[0] + // Public signature debug description: toShort(){}kotlin.Short + override fun toShort(): Short + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I){} +// Public signature: /test|-1897371180652527268[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.ir.txt new file mode 100644 index 00000000000..fcd39e53405 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.ir.txt @@ -0,0 +1,157 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .B' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.C, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.C, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .C' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:a type:.A [val] + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .A' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:b type:.B [val] + CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:c type:.C [val] + CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k7 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .C' type=.Java1 origin=PLUS + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.kt.txt new file mode 100644 index 00000000000..7a9fa73b495 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.fir.kt.txt @@ -0,0 +1,63 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 2 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return Java1() + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 2 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return Java1() + } + +} + +fun test() { + val a: A = A() + val k: Unit = a.invoke() + val k1: Java1 = a.plus(i = 1) /*!! Java1 */ + val k2: Int = a.get(i = 1) /*!! Int */ + val b: B = B() + val k3: Unit = b.invoke() + val k4: Java1 = b.plus(i = 1) + val k5: Int = b.get(i = 1) + val c: C = C() + val k6: Unit = c.invoke() + val k7: Java1 = c.plus(i = 1) + val k8: Int = c.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.ir.txt new file mode 100644 index 00000000000..3df6dd961d7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.ir.txt @@ -0,0 +1,157 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .B' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.C, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.C, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .C' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:a type:.A [val] + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .A' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:b type:.B [val] + CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:c type:.C [val] + CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k7 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .C' type=.Java1 origin=PLUS + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt new file mode 100644 index 00000000000..98d6b428f9b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt @@ -0,0 +1,47 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 { + public void invoke(){}; + public Java1 plus(Integer i){ return this;}; + public Integer get(Integer i){ return 1; } +} + +// FILE: 1.kt + +class A : Java1() + +class B : Java1() { + override fun invoke() {} + override fun get(i: Int?): Int { + return 2 + } + override fun plus(i: Int?): Java1 { + return Java1() + } +} + +class C : Java1() { + override operator fun invoke() {} + override operator fun get(i: Int?): Int { + return 2 + } + override operator fun plus(i: Int?): Java1 { + return Java1() + } +} +fun test() { + val a = A() + val k: Unit = a() + val k1: Java1 = a + 1 + val k2: Int = a[1] + val b = B() + val k3: Unit = b() + val k4: Java1 = b + 1 + val k5: Int = b[1] + val c = C() + val k6: Unit = c() + val k7: Java1 = c + 1 + val k8: Int = c[1] +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt.txt new file mode 100644 index 00000000000..7a9fa73b495 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt.txt @@ -0,0 +1,63 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 2 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return Java1() + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 2 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return Java1() + } + +} + +fun test() { + val a: A = A() + val k: Unit = a.invoke() + val k1: Java1 = a.plus(i = 1) /*!! Java1 */ + val k2: Int = a.get(i = 1) /*!! Int */ + val b: B = B() + val k3: Unit = b.invoke() + val k4: Java1 = b.plus(i = 1) + val k5: Int = b.get(i = 1) + val c: C = C() + val k6: Unit = c.invoke() + val k7: Java1 = c.plus(i = 1) + val k8: Int = c.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.sig.kt.txt new file mode 100644 index 00000000000..e3bddc71d1a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.sig.kt.txt @@ -0,0 +1,95 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int?){}kotlin.Int? + // Public signature: /A.get|7040689195092882450[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int? + /* fake */ override operator fun get(i: Int?): Int? + + // CHECK: + // Mangled name: A#invoke(){} + // Public signature: /A.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: A#plus(kotlin.Int?){}Java1? + // Public signature: /A.plus|-7032856236956634841[0] + // Public signature debug description: plus(kotlin.Int?){}Java1? + /* fake */ override operator fun plus(i: Int?): Java1? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int?){}kotlin.Int + // Public signature: /B.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: B#invoke(){} + // Public signature: /B.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: B#plus(kotlin.Int?){}Java1 + // Public signature: /B.plus|5151435286051456288[0] + // Public signature debug description: plus(kotlin.Int?){}Java1 + override operator fun plus(i: Int?): Java1 + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int?){}kotlin.Int + // Public signature: /C.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: C#invoke(){} + // Public signature: /C.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: C#plus(kotlin.Int?){}Java1 + // Public signature: /C.plus|5151435286051456288[0] + // Public signature debug description: plus(kotlin.Int?){}Java1 + override operator fun plus(i: Int?): Java1 + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..85410dcfd24 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,309 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [operator] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .A declared in .A' + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [fake_override,operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [fake_override,operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=3 + FUN name:invoke visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:.A [operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .A declared in .D' + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java3? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.F, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=4 + FUN name:invoke visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.F, i:kotlin.Int?) returnType:.Java3 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java3 declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java3? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .B' type=.A origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .C' type=.A origin=PLUS + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=VARIABLE_AS_FUNCTION + VAR name:k7 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .D' type=.A origin=PLUS + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k9 type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=VARIABLE_AS_FUNCTION + VAR name:k10 type:.Java3 [val] + TYPE_OP type=.Java3 origin=IMPLICIT_NOTNULL typeOperand=.Java3 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .E' type=@[FlexibleNullability] .Java3? origin=PLUS + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=VARIABLE_AS_FUNCTION + VAR name:k13 type:.Java3 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java3 declared in .F' type=.Java3 origin=PLUS + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .F' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..dc181d59773 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,107 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open operator fun get(i: Int?): Int { + return 2 + } + + open operator fun invoke() { + } + + open operator fun plus(i: Int?): A { + return A() + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 3 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): A { + return A() + } + +} + +abstract class E : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 4 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java3 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : Java3 { +} + +fun test(b: B, c: C, d: D, e: E, f: F) { + val k: Unit = b.invoke() + val k1: A = b.plus(i = 1) + val k2: Int = b.get(i = 1) + val k3: Unit = c.invoke() + val k4: A = c.plus(i = 1) + val k5: Int = c.get(i = 1) + val k6: Unit = d.invoke() + val k7: A = d.plus(i = 1) + val k8: Int = d.get(i = 1) + val k9: Unit = e.invoke() + val k10: Java3 = e.plus(i = 1) /*!! Java3 */ + val k11: Int = e.get(i = 1) /*!! Int */ + val k12: Unit = f.invoke() + val k13: Java3 = f.plus(i = 1) + val k14: Int = f.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..2ef629eafba --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,309 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=2 + FUN name:invoke visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [operator] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .A declared in .A' + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [fake_override,operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type: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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.A, i:kotlin.Int?) returnType:.A [fake_override,operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public open fun get (i: kotlin.Int?): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=3 + FUN name:invoke visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:.A [operator] + overridden: + public open fun plus (i: kotlin.Int?): .A declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .A declared in .D' + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java3? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.F, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=4 + FUN name:invoke visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.F, i:kotlin.Int?) returnType:.Java3 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java4 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java3 declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java3, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java3? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .B' type=.A origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .C' type=.A origin=PLUS + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .D' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'd: .D declared in .test' type=.D origin=VARIABLE_AS_FUNCTION + VAR name:k7 type:.A [val] + CALL 'public open fun plus (i: kotlin.Int?): .A declared in .D' type=.A origin=PLUS + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k9 type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .E' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'e: .E declared in .test' type=.E origin=VARIABLE_AS_FUNCTION + VAR name:k10 type:.Java3 [val] + TYPE_OP type=.Java3 origin=IMPLICIT_NOTNULL typeOperand=.Java3 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java3? declared in .E' type=@[FlexibleNullability] .Java3? origin=PLUS + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .F' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'f: .F declared in .test' type=.F origin=VARIABLE_AS_FUNCTION + VAR name:k13 type:.Java3 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java3 declared in .F' type=.Java3 origin=PLUS + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .F' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..84e4d2a9c55 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt @@ -0,0 +1,76 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 extends A { } + +// FILE: Java2.java +public class Java2 extends A { + public void invoke(){}; +} + +// FILE: Java3.java +public interface Java3 { + public void invoke(); + public Java3 plus(Integer i); + public Integer get(Integer i); +} + +// FILE: Java4.java +public interface Java4 extends KotlinInterface{ } + +// FILE: 1.kt + +open class A { + open operator fun invoke() {} + open operator fun get(i: Int?): Int { + return 2 + } + open operator fun plus(i: Int?): A { + return A() + } +} +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : Java2() //Kotlin ← Java ← Kotlin with explicit override in java + +class D: Java1() { //Kotlin ← Java ← Kotlin with explicit override + override fun invoke() { } + override fun get(i: Int?): Int { + return 3 + } + override fun plus(i: Int?): A { + return A() + } +} + +abstract class E : Java4 //Kotlin ← Java ← Kotlin ← Java + +class F: Java4 { //Kotlin ← Java ← Kotlin ← Java with explicit override + override fun invoke() { } + override fun plus(i: Int?): Java3 { + return null!! + } + override fun get(i: Int?): Int { + return 4 + } +} + +interface KotlinInterface : Java3 + +fun test(b: B, c: C, d: D, e: E, f: F) { + val k: Unit = b() + val k1: A = b + 1 + val k2: Int = b[1] + val k3: Unit = c() + val k4: A = c + 1 + val k5: Int = c[1] + val k6: Unit = d() + val k7: A = d + 1 + val k8: Int = d[1] + val k9: Unit = e() + val k10: Java3 = e + 1 + val k11: Int = e[1] + val k12: Unit = f() + val k13: Java3 = f + 1 + val k14: Int = f[1] +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..dc181d59773 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,107 @@ +open class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open operator fun get(i: Int?): Int { + return 2 + } + + open operator fun invoke() { + } + + open operator fun plus(i: Int?): A { + return A() + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 3 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): A { + return A() + } + +} + +abstract class E : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 4 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java3 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface : Java3 { +} + +fun test(b: B, c: C, d: D, e: E, f: F) { + val k: Unit = b.invoke() + val k1: A = b.plus(i = 1) + val k2: Int = b.get(i = 1) + val k3: Unit = c.invoke() + val k4: A = c.plus(i = 1) + val k5: Int = c.get(i = 1) + val k6: Unit = d.invoke() + val k7: A = d.plus(i = 1) + val k8: Int = d.get(i = 1) + val k9: Unit = e.invoke() + val k10: Java3 = e.plus(i = 1) /*!! Java3 */ + val k11: Int = e.get(i = 1) /*!! Int */ + val k12: Unit = f.invoke() + val k13: Java3 = f.plus(i = 1) + val k14: Int = f.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..8107fb8cda6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,209 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int?){}kotlin.Int + // Public signature: /A.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + open operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: A#invoke(){} + // Public signature: /A.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + open operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: A#plus(kotlin.Int?){}A + // Public signature: /A.plus|-1795499796367270285[0] + // Public signature debug description: plus(kotlin.Int?){}A + open operator fun plus(i: Int?): A + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int?){}kotlin.Int + // Public signature: /B.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + /* fake */ override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: B#invoke(){} + // Public signature: /B.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: B#plus(kotlin.Int?){}A + // Public signature: /B.plus|-1795499796367270285[0] + // Public signature debug description: plus(kotlin.Int?){}A + /* fake */ override operator fun plus(i: Int?): A + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int?){}kotlin.Int + // Public signature: /C.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + /* fake */ override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: C#invoke(){} + // Public signature: /C.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: C#plus(kotlin.Int?){}A + // Public signature: /C.plus|-1795499796367270285[0] + // Public signature debug description: plus(kotlin.Int?){}A + /* fake */ override operator fun plus(i: Int?): A + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int?){}kotlin.Int + // Public signature: /D.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: D#invoke(){} + // Public signature: /D.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: D#plus(kotlin.Int?){}A + // Public signature: /D.plus|-1795499796367270285[0] + // Public signature debug description: plus(kotlin.Int?){}A + override operator fun plus(i: Int?): A + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java4 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#get(kotlin.Int?){}kotlin.Int? + // Public signature: /E.get|7040689195092882450[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun get(i: Int?): Int? + + // CHECK: + // Mangled name: E#invoke(){} + // Public signature: /E.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + abstract /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: E#plus(kotlin.Int?){}Java3? + // Public signature: /E.plus|-4867345056319774975[0] + // Public signature debug description: plus(kotlin.Int?){}Java3? + abstract /* fake */ override operator fun plus(i: Int?): Java3? + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#get(kotlin.Int?){}kotlin.Int + // Public signature: /F.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: F#invoke(){} + // Public signature: /F.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: F#plus(kotlin.Int?){}Java3 + // Public signature: /F.plus|-1134082592939971042[0] + // Public signature debug description: plus(kotlin.Int?){}Java3 + override operator fun plus(i: Int?): Java3 + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java3 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#get(kotlin.Int?){}kotlin.Int? + // Public signature: /KotlinInterface.get|7040689195092882450[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun get(i: Int?): Int? + + // CHECK: + // Mangled name: KotlinInterface#invoke(){} + // Public signature: /KotlinInterface.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + abstract /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#plus(kotlin.Int?){}Java3? + // Public signature: /KotlinInterface.plus|-4867345056319774975[0] + // Public signature debug description: plus(kotlin.Int?){}Java3? + abstract /* fake */ override operator fun plus(i: Int?): Java3? + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F){} +// Public signature: /test|-7946478318145452671[0] +// Public signature debug description: test(B;C;D;E;F){} +fun test(b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.ir.txt new file mode 100644 index 00000000000..ee8e430f016 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.ir.txt @@ -0,0 +1,293 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java2, i:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java2, i:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] .Java2? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $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:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:kotlin.Any [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=3 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:.Java2 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Any?): .Java2 declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1]' + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .KotlinInterface + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type: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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .KotlinInterface + public abstract fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=4 + FUN name:invoke visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int?) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + FUN name:invoke visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .A' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int? [val] + CALL 'public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:.Java2 [val] + CALL 'public open fun plus (i: kotlin.Any?): .Java2 declared in .B' type=.Java2 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + CALL 'public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST String type=kotlin.String value="" + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k11 type:kotlin.Int [val] + CALL 'public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Int [val] + CALL 'public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .C' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=VARIABLE_AS_FUNCTION + VAR name:k15 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .D' type=.Java1 origin=PLUS + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.kt.txt new file mode 100644 index 00000000000..31ea260ed37 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.fir.kt.txt @@ -0,0 +1,93 @@ +abstract class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Any?): Any { + return 2 + } + + override operator fun get(i: Int?): Int { + return 3 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Any?): Java2 { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun plus(i: Int?): Java1 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 4 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract operator fun get(i: Int?): Int + + abstract operator fun invoke() + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Unit = a.invoke() + val k1: Java1 = a.plus(i = 1) /*!! Java1 */ + val k2: Int? = a.get(i = 1) + val k3: Unit = b.invoke() + val k4: Java1 = b.plus(i = 1) + val k5: Java1 = b.plus(i = null) + val k6: Java2 = b.plus(i = "") + val k7: Int = b.get(i = 1) + val k8: Int = b.get(i = null) + val k9: Any = b.get(i = "") + val k10: Unit = c.invoke() + val k11: Int = c.get(i = 1) + val k12: Int = c.get(i = null) + val k13: Java1 = c.plus(i = 1) /*!! Java1 */ + val k14: Unit = d.invoke() + val k15: Int = d.get(i = 1) + val k16: Int = d.get(i = null) + val k17: Java1 = d.plus(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.ir.txt new file mode 100644 index 00000000000..05579248985 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.ir.txt @@ -0,0 +1,293 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.Java2, i:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] kotlin.Any? [fake_override,operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java2, i:@[FlexibleNullability] kotlin.Any?) returnType:@[FlexibleNullability] .Java2? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $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:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:kotlin.Any [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=2 + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=3 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:.Java2 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Any?): .Java2 declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1]' + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int?) returnType:kotlin.Int [fake_override,operator] + overridden: + public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .KotlinInterface + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type: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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [fake_override,operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .KotlinInterface + public abstract fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:plus visibility:public modality:ABSTRACT <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] .Java1? [fake_override,operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:kotlin.Int [operator] + overridden: + public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .Java1 + public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=4 + FUN name:invoke visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit [operator] + overridden: + public abstract fun invoke (): kotlin.Unit declared in .Java1 + public abstract fun invoke (): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.D, i:kotlin.Int?) returnType:.Java1 [operator] + overridden: + public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Int?): .Java1 declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, i:kotlin.Int?) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + FUN name:invoke visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + VAR name:k type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .A' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int? [val] + CALL 'public abstract fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:.Java2 [val] + CALL 'public open fun plus (i: kotlin.Any?): .Java2 declared in .B' type=.Java2 origin=PLUS + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .B' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + CALL 'public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + i: CONST String type=kotlin.String value="" + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun invoke (): kotlin.Unit declared in .C' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'c: .C declared in .test' type=.C origin=VARIABLE_AS_FUNCTION + VAR name:k11 type:kotlin.Int [val] + CALL 'public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Int [val] + CALL 'public abstract fun get (i: kotlin.Int?): kotlin.Int declared in .C' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:.Java1 [val] + TYPE_OP type=.Java1 origin=IMPLICIT_NOTNULL typeOperand=.Java1 + CALL 'public abstract fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] .Java1? declared in .C' type=@[FlexibleNullability] .Java1? origin=PLUS + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .D' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'd: .D declared in .test' type=.D origin=VARIABLE_AS_FUNCTION + VAR name:k15 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int declared in .D' type=kotlin.Int origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:.Java1 [val] + CALL 'public open fun plus (i: kotlin.Int?): .Java1 declared in .D' type=.Java1 origin=PLUS + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt new file mode 100644 index 00000000000..80c689fab33 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt @@ -0,0 +1,73 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + public void invoke(); + public Java1 plus(Integer i); + public Integer get(Integer i); +} + +// FILE: Java2.java +public interface Java2 { + public void invoke(); + public Java2 plus(Object i); + public Object get(Object i); +} + +// FILE: 1.kt +abstract class A : Java1, Java2 //Kotlin ← Java1, Java2 + +class B : Java1, Java2 { //Kotlin ← Java1, Java2 with explicit override + override fun invoke() { } + + override fun plus(i: Any?): Java2 { + return null!! + } + override fun get(i: Any?): Any { + return 2 + } + override fun plus(i: Int?): Java1 { + return null!! + } + override fun get(i: Int?): Int { + return 3 + } +} + +abstract class C : KotlinInterface, Java1 //Kotlin ← Java, Kotlin2 + +class D: Java1, KotlinInterface { //Kotlin ← Java, Kotlin2 with explicit override + override fun invoke() { } + override fun plus(i: Int?): Java1 { + return null!! + } + override fun get(i: Int?): Int { + return 4 + } +} + +interface KotlinInterface { + operator fun invoke() + operator fun get(i: Int?): Int +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Unit = a() + val k1: Java1 = a + 1 + val k2: Int? = a[1] + val k3: Unit = b() + val k4: Java1 = b + 1 + val k5: Java1 = b + null + val k6: Java2 = b + "" + val k7: Int = b[1] + val k8: Int = b[null] + val k9: Any = b[""] + val k10: Unit = c() + val k11: Int = c[1] + val k12: Int = c[null] + val k13: Java1 = c + 1 + val k14: Unit = d() + val k15: Int = d[1] + val k16: Int = d[null] + val k17: Java1 = d + 1 +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt.txt new file mode 100644 index 00000000000..31ea260ed37 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt.txt @@ -0,0 +1,93 @@ +abstract class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Any?): Any { + return 2 + } + + override operator fun get(i: Int?): Int { + return 3 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Any?): Java2 { + return CHECK_NOT_NULL(arg0 = null) + } + + override operator fun plus(i: Int?): Java1 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class C : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun get(i: Int?): Int { + return 4 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Int?): Java1 { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface KotlinInterface { + abstract operator fun get(i: Int?): Int + + abstract operator fun invoke() + +} + +fun test(a: A, b: B, c: C, d: D) { + val k: Unit = a.invoke() + val k1: Java1 = a.plus(i = 1) /*!! Java1 */ + val k2: Int? = a.get(i = 1) + val k3: Unit = b.invoke() + val k4: Java1 = b.plus(i = 1) + val k5: Java1 = b.plus(i = null) + val k6: Java2 = b.plus(i = "") + val k7: Int = b.get(i = 1) + val k8: Int = b.get(i = null) + val k9: Any = b.get(i = "") + val k10: Unit = c.invoke() + val k11: Int = c.get(i = 1) + val k12: Int = c.get(i = null) + val k13: Java1 = c.plus(i = 1) /*!! Java1 */ + val k14: Unit = d.invoke() + val k15: Int = d.get(i = 1) + val k16: Int = d.get(i = null) + val k17: Java1 = d.plus(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.sig.kt.txt new file mode 100644 index 00000000000..fc02a2305f5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.sig.kt.txt @@ -0,0 +1,167 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int?){}kotlin.Int? + // Public signature: /A.get|7040689195092882450[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int? + abstract /* fake */ override operator fun get(i: Int?): Int? + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Any?){}kotlin.Any? + // Public signature: /A.get|8710632129153264173[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any? + abstract /* fake */ override operator fun get(i: Any?): Any? + + // CHECK: + // Mangled name: A#invoke(){} + // Public signature: /A.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + abstract /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: A#plus(kotlin.Int?){}Java1? + // Public signature: /A.plus|-7032856236956634841[0] + // Public signature debug description: plus(kotlin.Int?){}Java1? + abstract /* fake */ override operator fun plus(i: Int?): Java1? + + // CHECK JVM_IR: + // Mangled name: A#plus(kotlin.Any?){}Java2? + // Public signature: /A.plus|-7463288905288082942[0] + // Public signature debug description: plus(kotlin.Any?){}Java2? + abstract /* fake */ override operator fun plus(i: Any?): Java2? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Any?){}kotlin.Any + // Public signature: /B.get|-2113546338636552698[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any + override operator fun get(i: Any?): Any + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Int?){}kotlin.Int + // Public signature: /B.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: B#invoke(){} + // Public signature: /B.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: B#plus(kotlin.Any?){}Java2 + // Public signature: /B.plus|7623942856736290743[0] + // Public signature debug description: plus(kotlin.Any?){}Java2 + override operator fun plus(i: Any?): Java2 + + // CHECK JVM_IR: + // Mangled name: B#plus(kotlin.Int?){}Java1 + // Public signature: /B.plus|5151435286051456288[0] + // Public signature debug description: plus(kotlin.Int?){}Java1 + override operator fun plus(i: Int?): Java1 + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#get(kotlin.Int?){}kotlin.Int + // Public signature: /C.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + abstract /* fake */ override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: C#invoke(){} + // Public signature: /C.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + abstract /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: C#plus(kotlin.Int?){}Java1? + // Public signature: /C.plus|-7032856236956634841[0] + // Public signature debug description: plus(kotlin.Int?){}Java1? + abstract /* fake */ override operator fun plus(i: Int?): Java1? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#get(kotlin.Int?){}kotlin.Int + // Public signature: /D.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + override operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: D#invoke(){} + // Public signature: /D.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: D#plus(kotlin.Int?){}Java1 + // Public signature: /D.plus|5151435286051456288[0] + // Public signature debug description: plus(kotlin.Int?){}Java1 + override operator fun plus(i: Int?): Java1 + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#get(kotlin.Int?){}kotlin.Int + // Public signature: /KotlinInterface.get|6449384512088502848[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int + abstract operator fun get(i: Int?): Int + + // CHECK: + // Mangled name: KotlinInterface#invoke(){} + // Public signature: /KotlinInterface.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + abstract operator fun invoke(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.ir.txt new file mode 100644 index 00000000000..7432e5fbe9e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.ir.txt @@ -0,0 +1,107 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] kotlin.Int? [fake_override,operator] + overridden: + public open fun get (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:@[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? [fake_override,operator] + overridden: + public open fun plus (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:kotlin.Any [operator] + overridden: + public open fun get (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Any?): .Java1 declared in .B' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + : kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:a type:.A [val] + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1<*>? [val] + CALL 'public open fun plus (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? origin=PLUS + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int? [val] + CALL 'public open fun get (i: @[FlexibleNullability] kotlin.Int?): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:b type:.B [val] + CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1<*> [val] + CALL 'public open fun plus (i: kotlin.Any?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Any [val] + CALL 'public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.kt.txt new file mode 100644 index 00000000000..4854e70a214 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.fir.kt.txt @@ -0,0 +1,39 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override operator fun get(i: Any?): Any { + return 1 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Any?): Java1 { + return Java1() + } + +} + +fun test(a: A, b: B) { + val a: A = A() + val k: Unit = a.invoke() + val k1: Java1<*>? = a.plus(i = 1) + val k2: Int? = a.get(i = 1) + val b: B = B() + val k3: Unit = b.invoke() + val k4: Java1<*> = b.plus(i = 1) + val k5: Any = b.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.ir.txt new file mode 100644 index 00000000000..97ef0f60c11 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.ir.txt @@ -0,0 +1,107 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:get visibility:public modality:OPEN <> ($this:.Java1, i:kotlin.Int?) returnType:kotlin.Int? [fake_override,operator] + overridden: + public open fun get (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type: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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:invoke visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Unit [fake_override,operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:plus visibility:public modality:OPEN <> ($this:.Java1, i:kotlin.Int?) returnType:@[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? [fake_override,operator] + overridden: + public open fun plus (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:i index:0 type:kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:get visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:kotlin.Any [operator] + overridden: + public open fun get (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' + CONST Int type=kotlin.Int value=1 + FUN name:invoke visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [operator] + overridden: + public open fun invoke (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:plus visibility:public modality:OPEN <> ($this:.B, i:kotlin.Any?) returnType:.Java1 [operator] + overridden: + public open fun plus (i: @[FlexibleNullability] T of .Java1?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:i index:0 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun plus (i: kotlin.Any?): .Java1 declared in .B' + CONSTRUCTOR_CALL 'public constructor () declared in .Java1' type=.Java1 origin=null + : @[FlexibleNullability] kotlin.Any? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:a type:.A [val] + CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .A' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=VARIABLE_AS_FUNCTION + VAR name:k1 type:.Java1<*>? [val] + CALL 'public open fun plus (i: kotlin.Int?): @[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[RawType] .Java1<@[FlexibleNullability] kotlin.Any?>? origin=PLUS + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Int? [val] + CALL 'public open fun get (i: kotlin.Int?): kotlin.Int? declared in .A' type=kotlin.Int? origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val a: .A declared in .test' type=.A origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:b type:.B [val] + CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun invoke (): kotlin.Unit declared in .B' type=kotlin.Unit origin=INVOKE + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=VARIABLE_AS_FUNCTION + VAR name:k4 type:.Java1<*> [val] + CALL 'public open fun plus (i: kotlin.Any?): .Java1 declared in .B' type=.Java1 origin=PLUS + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Any [val] + CALL 'public open fun get (i: kotlin.Any?): kotlin.Any declared in .B' type=kotlin.Any origin=GET_ARRAY_ELEMENT + $this: GET_VAR 'val b: .B declared in .test' type=.B origin=null + i: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt new file mode 100644 index 00000000000..c11773361b3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt @@ -0,0 +1,31 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void invoke(){}; + public Java1 plus(T i){ return this;}; + public T get(T i){return null;} +} +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun invoke() {} + override fun get(i: Any?): Any { + return 1 + } + override fun plus(i: Any?): Java1 { + return Java1() + } +} + +fun test(a: A, b: B) { + val a = A() + val k: Unit = a() + val k1: Java1<*>? = a + 1 + val k2: Int? = a[1] + val b = B() + val k3: Unit = b() + val k4: Java1<*> = b + 1 + val k5: Any = b[1] +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt.txt new file mode 100644 index 00000000000..ea8100988a8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt.txt @@ -0,0 +1,39 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Any?>() + /* () */ + + } + + override operator fun get(i: Any?): Any { + return 1 + } + + override operator fun invoke() { + } + + override operator fun plus(i: Any?): Java1 { + return Java1<@FlexibleNullability Any?>() + } + +} + +fun test(a: A, b: B) { + val a: A = A() + val k: Unit = a.invoke() + val k1: Java1<*>? = a.plus(i = 1) + val k2: Int? = a.get(i = 1) + val b: B = B() + val k3: Unit = b.invoke() + val k4: Java1<*> = b.plus(i = 1) + val k5: Any = b.get(i = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.sig.kt.txt new file mode 100644 index 00000000000..0553d262cf0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.sig.kt.txt @@ -0,0 +1,65 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#get(kotlin.Int?){}kotlin.Int? + // Public signature: /A.get|7040689195092882450[0] + // Public signature debug description: get(kotlin.Int?){}kotlin.Int? + /* fake */ override operator fun get(i: Int?): Int? + + // CHECK: + // Mangled name: A#invoke(){} + // Public signature: /A.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + /* fake */ override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: A#plus(kotlin.Int?){}Java1? + // Public signature: /A.plus|9053177338193059553[0] + // Public signature debug description: plus(kotlin.Int?){}Java1? + /* fake */ override operator fun plus(i: Int?): Java1? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#get(kotlin.Any?){}kotlin.Any + // Public signature: /B.get|-2113546338636552698[0] + // Public signature debug description: get(kotlin.Any?){}kotlin.Any + override operator fun get(i: Any?): Any + + // CHECK: + // Mangled name: B#invoke(){} + // Public signature: /B.invoke|-4663091332620260873[0] + // Public signature debug description: invoke(){} + override operator fun invoke(): Unit + + // CHECK JVM_IR: + // Mangled name: B#plus(kotlin.Any?){}Java1 + // Public signature: /B.plus|954734645001127487[0] + // Public signature debug description: plus(kotlin.Any?){}Java1 + override operator fun plus(i: Any?): Java1 + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..aa1b47e6d0a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,785 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private + EXPRESSION_BODY + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.ArrayList declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private' type=java.util.ArrayList origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :java.util.ArrayList) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.ArrayList + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': java.util.ArrayList declared in .A.' type=java.util.ArrayList origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private + EXPRESSION_BODY + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.HashSet declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private' type=java.util.HashSet origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :java.util.HashSet) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.HashSet + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': java.util.HashSet declared in .A.' type=java.util.HashSet origin=null + PROPERTY name:c visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private + EXPRESSION_BODY + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.IntArray declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.IntArray) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.IntArray + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.IntArray declared in .A.' type=kotlin.IntArray origin=null + PROPERTY name:d visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private + EXPRESSION_BODY + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Array declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private' type=kotlin.Array origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Array + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Array declared in .A.' type=kotlin.Array origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .A' + CALL 'public open fun (): java.util.ArrayList declared in .A' type=java.util.ArrayList origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar' type=.A origin=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.HashSet declared in .A' + CALL 'public open fun (): java.util.HashSet declared in .A' type=java.util.HashSet origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar2' type=.A origin=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .A' + CALL 'public open fun (): kotlin.IntArray declared in .A' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar3' type=.A origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .A' + CALL 'public open fun (): kotlin.Array declared in .A' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar4' type=.A origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A, b:java.util.HashSet) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A, c:kotlin.IntArray) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.A, d:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:d index:0 type:kotlin.Array + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList [fake_override] + overridden: + public open fun bar (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet [fake_override] + overridden: + public open fun bar2 (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray [fake_override] + overridden: + public open fun bar3 (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array [fake_override] + overridden: + public open fun bar4 (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $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:.A, a:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A, b:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A, c:kotlin.IntArray) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.A, d:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:d index:0 type:kotlin.Array + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: java.util.ArrayList + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:java.util.ArrayList [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :java.util.ArrayList) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: java.util.HashSet + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:java.util.HashSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :java.util.HashSet) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:java.util.HashSet + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: kotlin.IntArray + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.IntArray [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.IntArray) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.IntArray + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Array + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Array [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.Array) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Array + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:java.util.ArrayList + overridden: + public open fun bar (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .C' + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:java.util.HashSet + overridden: + public open fun bar2 (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.HashSet declared in .C' + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN name:bar3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + overridden: + public open fun bar3 (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + overridden: + public open fun bar4 (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C, b:java.util.HashSet) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C, c:kotlin.IntArray) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C, d:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:d index:0 type:kotlin.Array + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: java.util.ArrayList + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:java.util.ArrayList + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.ArrayList declared in .C' + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C, value:java.util.ArrayList) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:java.util.ArrayList + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: java.util.HashSet + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:java.util.HashSet + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.HashSet declared in .C' + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN name: visibility:public modality:OPEN <> ($this:.C, value:java.util.HashSet) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:java.util.HashSet + BLOCK_BODY + PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open c: kotlin.IntArray + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.IntArray) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.IntArray + BLOCK_BODY + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Array + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Array + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun bar4 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java2, e:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .E' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableSet + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableSet declared in .E' + CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + FUN name:bar3 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.IntArray + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .E' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Array + overridden: + public abstract fun bar4 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .E' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.E, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.E, c:kotlin.collections.MutableSet?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.E, d:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:d index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.E, e:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:e index:0 type:kotlin.Array? + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun bar4 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java2, e:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + BLOCK_BODY + CALL 'public open fun (: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (: java.util.HashSet): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun (: kotlin.IntArray): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (: kotlin.Array): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k1 type:kotlin.collections.List [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): java.util.HashSet declared in .B' type=java.util.HashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun (value: java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (value: java.util.HashSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun (value: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (value: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + d: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): java.util.HashSet declared in .B' type=java.util.HashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + c: CALL 'public final fun setOf (element: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo4 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + CALL 'public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k11 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .D' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k12 type:kotlin.Array [val] + TYPE_OP type=@[FlexibleArrayElementVariance] kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleArrayElementVariance] kotlin.Array + CALL 'public abstract fun bar4 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .D' type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (c: kotlin.collections.MutableSet?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + c: CALL 'public final fun mutableSetOf (vararg elements: T of kotlin.collections.mutableSetOf): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CALL 'public open fun foo3 (d: kotlin.IntArray?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (e: kotlin.Array?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k13 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k14 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): kotlin.collections.MutableSet declared in .E' type=kotlin.collections.MutableSet origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k15 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .E' type=kotlin.IntArray origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k16 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .E' type=kotlin.Array origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..88db277dc41 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,222 @@ +open class A { + open var a: ArrayList + field = arrayListOf() + open get + open set + + open var b: HashSet + field = hashSetOf() + open get + open set + + open var c: IntArray + field = intArrayOf() + open get + open set + + open var d: Array + field = arrayOf() + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): ArrayList { + return .() + } + + open fun bar2(): HashSet { + return .() + } + + open fun bar3(): IntArray { + return .() + } + + open fun bar4(): Array { + return .() + } + + open fun foo(a: ArrayList) { + } + + open fun foo2(b: HashSet) { + } + + open fun foo3(c: IntArray) { + } + + open fun foo4(d: Array) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): ArrayList { + return arrayListOf() + } + + override fun bar2(): HashSet { + return hashSetOf() + } + + override fun bar3(): IntArray { + return intArrayOf() + } + + override fun bar4(): Array { + return arrayOf() + } + + override fun foo(a: ArrayList) { + } + + override fun foo2(b: HashSet) { + } + + override fun foo3(c: IntArray) { + } + + override fun foo4(d: Array) { + } + + override var a: ArrayList + override get(): ArrayList { + return arrayListOf() + } + override set(value: ArrayList) { + } + + override var b: HashSet + override get(): HashSet { + return hashSetOf() + } + override set(value: HashSet) { + } + + override var c: IntArray + override get(): IntArray { + return intArrayOf() + } + override set(value: IntArray) { + } + + override var d: Array + override get(): Array { + return arrayOf() + } + override set(value: Array) { + } + +} + +abstract class D : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf() + } + + override fun bar2(): MutableSet { + return mutableSetOf() + } + + override fun bar3(): IntArray { + return intArrayOf() + } + + override fun bar4(): Array { + return arrayOf(elements = [""]) + } + + override fun foo(a: MutableList?) { + } + + override fun foo2(c: MutableSet?) { + } + + override fun foo3(d: IntArray?) { + } + + override fun foo4(e: Array?) { + } + +} + +interface KotlinInterface : Java2 { +} + +fun test(b: B, c: C, d: D, e: E) { + b.( = arrayListOf(elements = [1])) + b.( = hashSetOf(elements = [1, "", null])) + b.( = intArrayOf(elements = [1])) + b.( = arrayOf(elements = [""])) + b.foo(a = arrayListOf(elements = [1])) + b.foo2(b = hashSetOf(elements = [1, "", null])) + b.foo3(c = intArrayOf(elements = [1])) + b.foo4(d = arrayOf(elements = [""])) + val k1: List = b.bar() + val k2: Set = b.bar2() + val k3: IntArray = b.bar3() + val k4: Array = b.bar4() + c.(value = arrayListOf(elements = [1])) + c.(value = hashSetOf(elements = [1, "", null])) + c.(value = intArrayOf(elements = [1])) + c.(value = arrayOf(elements = [""])) + c.foo(a = arrayListOf(elements = [1])) + c.foo2(b = hashSetOf(elements = [1, "", null])) + c.foo3(c = intArrayOf(elements = [1])) + c.foo4(d = arrayOf(elements = [""])) + val k5: List = b.bar() + val k6: Set = b.bar2() + val k7: IntArray = b.bar3() + val k8: Array = b.bar4() + d.foo(a = arrayListOf(elements = [1])) + d.foo2(c = setOf(element = 1)) + d.foo3(d = intArrayOf(elements = [1])) + d.foo4(e = arrayOf(elements = [""])) + val k9: List = d.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability Int?> */ + val k10: Set = d.bar2() /*!! @FlexibleMutability MutableSet<@FlexibleNullability Any?> */ + val k11: IntArray = d.bar3() /*!! IntArray */ + val k12: Array = d.bar4() /*!! @FlexibleArrayElementVariance Array */ + e.foo(a = arrayListOf(elements = [1])) + e.foo2(c = mutableSetOf(elements = [1, ""])) + e.foo3(d = intArrayOf(elements = [1])) + e.foo4(e = arrayOf(elements = [""])) + val k13: List = e.bar() + val k14: Set = e.bar2() + val k15: IntArray = e.bar3() + val k16: Array = e.bar4() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..09a8b8d8bd1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,785 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private + EXPRESSION_BODY + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.ArrayList declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private' type=java.util.ArrayList origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :java.util.ArrayList) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.ArrayList + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:java.util.ArrayList visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': java.util.ArrayList declared in .A.' type=java.util.ArrayList origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private + EXPRESSION_BODY + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.HashSet declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private' type=java.util.HashSet origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :java.util.HashSet) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.HashSet + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:java.util.HashSet visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': java.util.HashSet declared in .A.' type=java.util.HashSet origin=null + PROPERTY name:c visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private + EXPRESSION_BODY + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.IntArray declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private' type=kotlin.IntArray origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.IntArray) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.IntArray + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:kotlin.IntArray visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.IntArray declared in .A.' type=kotlin.IntArray origin=null + PROPERTY name:d visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private + EXPRESSION_BODY + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Array declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private' type=kotlin.Array origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Array + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:d type:kotlin.Array visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Array declared in .A.' type=kotlin.Array origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .A' + CALL 'public open fun (): java.util.ArrayList declared in .A' type=java.util.ArrayList origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar' type=.A origin=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.HashSet declared in .A' + CALL 'public open fun (): java.util.HashSet declared in .A' type=java.util.HashSet origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar2' type=.A origin=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .A' + CALL 'public open fun (): kotlin.IntArray declared in .A' type=kotlin.IntArray origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar3' type=.A origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .A' + CALL 'public open fun (): kotlin.Array declared in .A' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.bar4' type=.A origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.A, a:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.A, b:java.util.HashSet) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.A, c:kotlin.IntArray) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.A, d:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:d index:0 type:kotlin.Array + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList [fake_override] + overridden: + public open fun bar (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet [fake_override] + overridden: + public open fun bar2 (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray [fake_override] + overridden: + public open fun bar3 (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array [fake_override] + overridden: + public open fun bar4 (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $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:.A, a:java.util.ArrayList) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.A, b:java.util.HashSet) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.A, c:kotlin.IntArray) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.A, d:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:d index:0 type:kotlin.Array + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open a: java.util.ArrayList + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.ArrayList [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, :java.util.ArrayList) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.ArrayList + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: java.util.HashSet + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:java.util.HashSet [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, :java.util.HashSet) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:java.util.HashSet + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open c: kotlin.IntArray + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.IntArray [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, :kotlin.IntArray) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.IntArray + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open d: kotlin.Array + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Array [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Array) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Array + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:java.util.ArrayList + overridden: + public open fun bar (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .C' + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:java.util.HashSet + overridden: + public open fun bar2 (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.HashSet declared in .C' + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN name:bar3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + overridden: + public open fun bar3 (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + overridden: + public open fun bar4 (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C, b:java.util.HashSet) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:b index:0 type:java.util.HashSet + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C, c:kotlin.IntArray) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:c index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C, d:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:d index:0 type:kotlin.Array + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open a: java.util.ArrayList + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:java.util.ArrayList + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (): java.util.ArrayList declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.ArrayList declared in .C' + CALL 'public final fun arrayListOf (): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C, value:java.util.ArrayList) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public open fun (: java.util.ArrayList): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:java.util.ArrayList + BLOCK_BODY + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: java.util.HashSet + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:java.util.HashSet + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): java.util.HashSet declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): java.util.HashSet declared in .C' + CALL 'public final fun hashSetOf (): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + FUN name: visibility:public modality:OPEN <> ($this:.C, value:java.util.HashSet) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: java.util.HashSet): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:java.util.HashSet + BLOCK_BODY + PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open c: kotlin.IntArray + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.IntArray declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.IntArray) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:c visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.IntArray): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.IntArray + BLOCK_BODY + PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open d: kotlin.Array + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Array declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:d visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Array): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Array + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun bar4 (): @[FlexibleNullability] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java2, e:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .E' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableSet + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.collections.MutableSet declared in .E' + CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + FUN name:bar3 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.IntArray + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.IntArray declared in .E' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar4 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Array + overridden: + public abstract fun bar4 (): @[FlexibleNullability] kotlin.Array? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.Array declared in .E' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.E, a:kotlin.collections.MutableList?) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList? + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.E, c:kotlin.collections.MutableSet?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.E, d:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:d index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.E, e:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:e index:0 type:kotlin.Array? + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun bar4 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:ABSTRACT <> ($this:.Java2, e:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo4 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + BLOCK_BODY + CALL 'public open fun (: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (: java.util.HashSet): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun (: kotlin.IntArray): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (: kotlin.Array): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k1 type:kotlin.collections.List [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): java.util.HashSet declared in .B' type=java.util.HashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun (value: java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (value: java.util.HashSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun (value: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun (value: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: java.util.ArrayList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (b: java.util.HashSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: CALL 'public final fun hashSetOf (vararg elements: T of kotlin.collections.hashSetOf): java.util.HashSet declared in kotlin.collections' type=java.util.HashSet origin=null + : kotlin.Any? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + d: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.collections.List [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): java.util.HashSet declared in .B' type=java.util.HashSet origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo2 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + c: CALL 'public final fun setOf (element: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo3 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo4 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k9 type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CALL 'public abstract fun bar2 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .D' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k11 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar3 (): @[FlexibleNullability] kotlin.IntArray? declared in .D' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k12 type:kotlin.Array [val] + TYPE_OP type=kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array + CALL 'public abstract fun bar4 (): @[FlexibleNullability] kotlin.Array? declared in .D' type=@[FlexibleNullability] kotlin.Array? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (c: kotlin.collections.MutableSet?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + c: CALL 'public final fun mutableSetOf (vararg elements: T of kotlin.collections.mutableSetOf): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST String type=kotlin.String value="" + CALL 'public open fun foo3 (d: kotlin.IntArray?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (e: kotlin.Array?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k13 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .E' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k14 type:kotlin.collections.Set [val] + CALL 'public open fun bar2 (): kotlin.collections.MutableSet declared in .E' type=kotlin.collections.MutableSet origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k15 type:kotlin.IntArray [val] + CALL 'public open fun bar3 (): kotlin.IntArray declared in .E' type=kotlin.IntArray origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k16 type:kotlin.Array [val] + CALL 'public open fun bar4 (): kotlin.Array declared in .E' type=kotlin.Array origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..27a06003c88 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt @@ -0,0 +1,164 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java + +public class Java1 extends A { } + +// FILE: Java2.java +import java.util.*; + +public interface Java2 { + List a = new ArrayList(); + Queue b = new ArrayDeque(); + Set c = new HashSet(); + public int[] d = new int[1]; + public String[] e = new String[1]; + + void foo(List a); + List bar(); + + void foo2(Set c); + Set bar2(); + + public void foo3(int[] d); + public int[] bar3(); + + public void foo4(String[] e); + public String[] bar4(); +} + +// FILE: Java3.java +public interface Java3 extends KotlinInterface { } + +// FILE: 1.kt +import kotlin.collections.ArrayList +import kotlin.collections.HashSet + +open class A { + open var a : ArrayList = arrayListOf() + open var b : HashSet = hashSetOf() + open var c : IntArray = intArrayOf() + open var d : Array = arrayOf() + + open fun foo(a: ArrayList) {} + open fun bar(): ArrayList { return a } + + open fun foo2(b: HashSet) {} + open fun bar2():HashSet { return b } + + open fun foo3(c : IntArray) {} + open fun bar3(): IntArray { return c } + + open fun foo4(d: Array) {} + open fun bar4(): Array{ return d } +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : Java1() { //Kotlin ← Java ← Kotlin with explicit override + override var a: ArrayList + get() = arrayListOf() + set(value) {} + override fun bar(): ArrayList { + return arrayListOf() + } + override fun foo(a: ArrayList) { } + + override var b: HashSet + get() = hashSetOf() + set(value) {} + override fun bar2(): HashSet { + return hashSetOf() + } + override fun foo2(b: HashSet) { } + + override var c: IntArray + get() = intArrayOf() + set(value) {} + + override fun bar3(): IntArray { + return intArrayOf() + } + override fun foo3(c: IntArray) { } + + override var d: Array + get() = arrayOf() + set(value) {} + override fun bar4(): Array { + return arrayOf() + } + override fun foo4(d: Array) { } +} + +abstract class D : Java3 //Kotlin ← Java ← Kotlin ← Java + +class E : Java3 { //Kotlin ← Java ← Kotlin ← Java with explicit override + override fun foo(a: MutableList?) { } + override fun bar(): MutableList { + return mutableListOf() + } + + override fun foo2(c: MutableSet?) { } + override fun bar2(): MutableSet { + return mutableSetOf() + } + + override fun foo3(d: IntArray?) { } + override fun bar3(): IntArray { + return intArrayOf() + } + + override fun foo4(e: Array?) { } + override fun bar4(): Array { + return arrayOf("") + } +} + +interface KotlinInterface : Java2 + +fun test(b: B, c: C, d: D, e: E) { + b.a = arrayListOf(1) + b.b = hashSetOf(1, "", null) + b.c = intArrayOf(1) + b.d = arrayOf("") + b.foo(arrayListOf(1)) + b.foo2(hashSetOf(1, "", null)) + b.foo3(intArrayOf(1)) + b.foo4(arrayOf("")) + val k1: List = b.bar() + val k2: Set = b.bar2() + val k3: IntArray = b.bar3() + val k4: Array = b.bar4() + + c.a = arrayListOf(1) + c.b = hashSetOf(1, "", null) + c.c = intArrayOf(1) + c.d = arrayOf("") + c.foo(arrayListOf(1)) + c.foo2(hashSetOf(1, "", null)) + c.foo3(intArrayOf(1)) + c.foo4(arrayOf("")) + val k5: List = b.bar() + val k6: Set = b.bar2() + val k7: IntArray = b.bar3() + val k8: Array = b.bar4() + + d.foo(arrayListOf(1)) + d.foo2(setOf(1)) + d.foo3(intArrayOf(1)) + d.foo4(arrayOf("")) + val k9: List = d.bar() + val k10: Set = d.bar2() + val k11: IntArray = d.bar3() + val k12: Array = d.bar4() + + e.foo(arrayListOf(1)) + e.foo2(mutableSetOf(1, "")) + e.foo3(intArrayOf(1)) + e.foo4(arrayOf("")) + val k13: List = e.bar() + val k14: Set = e.bar2() + val k15: IntArray = e.bar3() + val k16: Array = e.bar4() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..f13642270e5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,222 @@ +open class A { + open var a: ArrayList + field = arrayListOf() + open get + open set + + open var b: HashSet + field = hashSetOf() + open get + open set + + open var c: IntArray + field = intArrayOf() + open get + open set + + open var d: Array + field = arrayOf() + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(): ArrayList { + return .() + } + + open fun bar2(): HashSet { + return .() + } + + open fun bar3(): IntArray { + return .() + } + + open fun bar4(): Array { + return .() + } + + open fun foo(a: ArrayList) { + } + + open fun foo2(b: HashSet) { + } + + open fun foo3(c: IntArray) { + } + + open fun foo4(d: Array) { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): ArrayList { + return arrayListOf() + } + + override fun bar2(): HashSet { + return hashSetOf() + } + + override fun bar3(): IntArray { + return intArrayOf() + } + + override fun bar4(): Array { + return arrayOf() + } + + override fun foo(a: ArrayList) { + } + + override fun foo2(b: HashSet) { + } + + override fun foo3(c: IntArray) { + } + + override fun foo4(d: Array) { + } + + override var a: ArrayList + override get(): ArrayList { + return arrayListOf() + } + override set(value: ArrayList) { + } + + override var b: HashSet + override get(): HashSet { + return hashSetOf() + } + override set(value: HashSet) { + } + + override var c: IntArray + override get(): IntArray { + return intArrayOf() + } + override set(value: IntArray) { + } + + override var d: Array + override get(): Array { + return arrayOf() + } + override set(value: Array) { + } + +} + +abstract class D : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf() + } + + override fun bar2(): MutableSet { + return mutableSetOf() + } + + override fun bar3(): IntArray { + return intArrayOf() + } + + override fun bar4(): Array { + return arrayOf(elements = [""]) + } + + override fun foo(a: MutableList?) { + } + + override fun foo2(c: MutableSet?) { + } + + override fun foo3(d: IntArray?) { + } + + override fun foo4(e: Array?) { + } + +} + +interface KotlinInterface : Java2 { +} + +fun test(b: B, c: C, d: D, e: E) { + b.( = arrayListOf(elements = [1])) + b.( = hashSetOf(elements = [1, "", null])) + b.( = intArrayOf(elements = [1])) + b.( = arrayOf(elements = [""])) + b.foo(a = arrayListOf(elements = [1])) + b.foo2(b = hashSetOf(elements = [1, "", null])) + b.foo3(c = intArrayOf(elements = [1])) + b.foo4(d = arrayOf(elements = [""])) + val k1: List = b.bar() + val k2: Set = b.bar2() + val k3: IntArray = b.bar3() + val k4: Array = b.bar4() + c.(value = arrayListOf(elements = [1])) + c.(value = hashSetOf(elements = [1, "", null])) + c.(value = intArrayOf(elements = [1])) + c.(value = arrayOf(elements = [""])) + c.foo(a = arrayListOf(elements = [1])) + c.foo2(b = hashSetOf(elements = [1, "", null])) + c.foo3(c = intArrayOf(elements = [1])) + c.foo4(d = arrayOf(elements = [""])) + val k5: List = b.bar() + val k6: Set = b.bar2() + val k7: IntArray = b.bar3() + val k8: Array = b.bar4() + d.foo(a = arrayListOf(elements = [1])) + d.foo2(c = setOf(element = 1)) + d.foo3(d = intArrayOf(elements = [1])) + d.foo4(e = arrayOf(elements = [""])) + val k9: List = d.bar() /*!! List<@FlexibleNullability Int?> */ + val k10: Set = d.bar2() /*!! Set<@FlexibleNullability Any?> */ + val k11: IntArray = d.bar3() /*!! IntArray */ + val k12: Array = d.bar4() /*!! Array */ + e.foo(a = arrayListOf(elements = [1])) + e.foo2(c = mutableSetOf(elements = [1, ""])) + e.foo3(d = intArrayOf(elements = [1])) + e.foo4(e = arrayOf(elements = [""])) + val k13: List = e.bar() + val k14: Set = e.bar2() + val k15: IntArray = e.bar3() + val k16: Array = e.bar4() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..540f9a843f9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,551 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + open var a: ArrayList + // CHECK JVM_IR: + // Mangled name: A#(){}java.util.ArrayList + // Public signature: /A.a.|4132676009764314200[0] + // Public signature debug description: (){}java.util.ArrayList + open get + // CHECK: + // Mangled name: A#(java.util.ArrayList){} + // Public signature: /A.a.|-6295462313976522503[0] + // Public signature debug description: (java.util.ArrayList){} + open set + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: HashSet + // CHECK JVM_IR: + // Mangled name: A#(){}java.util.HashSet + // Public signature: /A.b.|6977653555431687524[0] + // Public signature debug description: (){}java.util.HashSet + open get + // CHECK: + // Mangled name: A#(java.util.HashSet){} + // Public signature: /A.b.|-8728130019825579370[0] + // Public signature debug description: (java.util.HashSet){} + open set + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + open var c: IntArray + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.IntArray + // Public signature: /A.c.|-4266900595727428954[0] + // Public signature debug description: (){}kotlin.IntArray + open get + // CHECK: + // Mangled name: A#(kotlin.IntArray){} + // Public signature: /A.c.|6408806882265521793[0] + // Public signature debug description: (kotlin.IntArray){} + open set + + // CHECK: + // Mangled name: A{}d + // Public signature: /A.d|5174763769109925331[0] + // Public signature debug description: {}d + open var d: Array + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Array + // Public signature: /A.d.|-5814496384501123578[0] + // Public signature debug description: (){}kotlin.Array + open get + // CHECK: + // Mangled name: A#(kotlin.Array){} + // Public signature: /A.d.|160244433914068058[0] + // Public signature debug description: (kotlin.Array){} + open set + + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}java.util.ArrayList + // Public signature: /A.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + open fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}java.util.HashSet + // Public signature: /A.bar2|-6053596670982807099[0] + // Public signature debug description: bar2(){}java.util.HashSet + open fun bar2(): HashSet + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.IntArray + // Public signature: /A.bar3|1311395800098768031[0] + // Public signature debug description: bar3(){}kotlin.IntArray + open fun bar3(): IntArray + + // CHECK JVM_IR: + // Mangled name: A#bar4(){}kotlin.Array + // Public signature: /A.bar4|2570925914263886272[0] + // Public signature debug description: bar4(){}kotlin.Array + open fun bar4(): Array + + // CHECK: + // Mangled name: A#foo(java.util.ArrayList){} + // Public signature: /A.foo|-787171505211988164[0] + // Public signature debug description: foo(java.util.ArrayList){} + open fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: A#foo2(java.util.HashSet){} + // Public signature: /A.foo2|6915122236924631299[0] + // Public signature debug description: foo2(java.util.HashSet){} + open fun foo2(b: HashSet): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.IntArray){} + // Public signature: /A.foo3|-6559814817510685824[0] + // Public signature debug description: foo3(kotlin.IntArray){} + open fun foo3(c: IntArray): Unit + + // CHECK: + // Mangled name: A#foo4(kotlin.Array){} + // Public signature: /A.foo4|5671374947764223348[0] + // Public signature debug description: foo4(kotlin.Array){} + open fun foo4(d: Array): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}java.util.ArrayList + // Public signature: /B.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + /* fake */ override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}java.util.HashSet + // Public signature: /B.bar2|-6053596670982807099[0] + // Public signature debug description: bar2(){}java.util.HashSet + /* fake */ override fun bar2(): HashSet + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.IntArray + // Public signature: /B.bar3|1311395800098768031[0] + // Public signature debug description: bar3(){}kotlin.IntArray + /* fake */ override fun bar3(): IntArray + + // CHECK JVM_IR: + // Mangled name: B#bar4(){}kotlin.Array + // Public signature: /B.bar4|2570925914263886272[0] + // Public signature debug description: bar4(){}kotlin.Array + /* fake */ override fun bar4(): Array + + // CHECK: + // Mangled name: B#foo(java.util.ArrayList){} + // Public signature: /B.foo|-787171505211988164[0] + // Public signature debug description: foo(java.util.ArrayList){} + /* fake */ override fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: B#foo2(java.util.HashSet){} + // Public signature: /B.foo2|6915122236924631299[0] + // Public signature debug description: foo2(java.util.HashSet){} + /* fake */ override fun foo2(b: HashSet): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.IntArray){} + // Public signature: /B.foo3|-6559814817510685824[0] + // Public signature debug description: foo3(kotlin.IntArray){} + /* fake */ override fun foo3(c: IntArray): Unit + + // CHECK: + // Mangled name: B#foo4(kotlin.Array){} + // Public signature: /B.foo4|5671374947764223348[0] + // Public signature debug description: foo4(kotlin.Array){} + /* fake */ override fun foo4(d: Array): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override var a: ArrayList + // CHECK JVM_IR: + // Mangled name: B#(){}java.util.ArrayList + // Public signature: /B.a.|4132676009764314200[0] + // Public signature debug description: (){}java.util.ArrayList + /* fake */ override get(): ArrayList + // CHECK: + // Mangled name: B#(java.util.ArrayList){} + // Public signature: /B.a.|-6295462313976522503[0] + // Public signature debug description: (java.util.ArrayList){} + /* fake */ override set(: ArrayList): Unit + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: HashSet + // CHECK JVM_IR: + // Mangled name: B#(){}java.util.HashSet + // Public signature: /B.b.|6977653555431687524[0] + // Public signature debug description: (){}java.util.HashSet + /* fake */ override get(): HashSet + // CHECK: + // Mangled name: B#(java.util.HashSet){} + // Public signature: /B.b.|-8728130019825579370[0] + // Public signature debug description: (java.util.HashSet){} + /* fake */ override set(: HashSet): Unit + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + /* fake */ override var c: IntArray + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.IntArray + // Public signature: /B.c.|-4266900595727428954[0] + // Public signature debug description: (){}kotlin.IntArray + /* fake */ override get(): IntArray + // CHECK: + // Mangled name: B#(kotlin.IntArray){} + // Public signature: /B.c.|6408806882265521793[0] + // Public signature debug description: (kotlin.IntArray){} + /* fake */ override set(: IntArray): Unit + + // CHECK: + // Mangled name: B{}d + // Public signature: /B.d|5174763769109925331[0] + // Public signature debug description: {}d + /* fake */ override var d: Array + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Array + // Public signature: /B.d.|-5814496384501123578[0] + // Public signature debug description: (){}kotlin.Array + /* fake */ override get(): Array + // CHECK: + // Mangled name: B#(kotlin.Array){} + // Public signature: /B.d.|160244433914068058[0] + // Public signature debug description: (kotlin.Array){} + /* fake */ override set(: Array): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}java.util.ArrayList + // Public signature: /C.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}java.util.HashSet + // Public signature: /C.bar2|-6053596670982807099[0] + // Public signature debug description: bar2(){}java.util.HashSet + override fun bar2(): HashSet + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.IntArray + // Public signature: /C.bar3|1311395800098768031[0] + // Public signature debug description: bar3(){}kotlin.IntArray + override fun bar3(): IntArray + + // CHECK JVM_IR: + // Mangled name: C#bar4(){}kotlin.Array + // Public signature: /C.bar4|2570925914263886272[0] + // Public signature debug description: bar4(){}kotlin.Array + override fun bar4(): Array + + // CHECK: + // Mangled name: C#foo(java.util.ArrayList){} + // Public signature: /C.foo|-787171505211988164[0] + // Public signature debug description: foo(java.util.ArrayList){} + override fun foo(a: ArrayList): Unit + + // CHECK: + // Mangled name: C#foo2(java.util.HashSet){} + // Public signature: /C.foo2|6915122236924631299[0] + // Public signature debug description: foo2(java.util.HashSet){} + override fun foo2(b: HashSet): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.IntArray){} + // Public signature: /C.foo3|-6559814817510685824[0] + // Public signature debug description: foo3(kotlin.IntArray){} + override fun foo3(c: IntArray): Unit + + // CHECK: + // Mangled name: C#foo4(kotlin.Array){} + // Public signature: /C.foo4|5671374947764223348[0] + // Public signature debug description: foo4(kotlin.Array){} + override fun foo4(d: Array): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: ArrayList + // CHECK JVM_IR: + // Mangled name: C#(){}java.util.ArrayList + // Public signature: /C.a.|4132676009764314200[0] + // Public signature debug description: (){}java.util.ArrayList + override get(): ArrayList + // CHECK: + // Mangled name: C#(java.util.ArrayList){} + // Public signature: /C.a.|-6295462313976522503[0] + // Public signature debug description: (java.util.ArrayList){} + override set(value: ArrayList): Unit + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: HashSet + // CHECK JVM_IR: + // Mangled name: C#(){}java.util.HashSet + // Public signature: /C.b.|6977653555431687524[0] + // Public signature debug description: (){}java.util.HashSet + override get(): HashSet + // CHECK: + // Mangled name: C#(java.util.HashSet){} + // Public signature: /C.b.|-8728130019825579370[0] + // Public signature debug description: (java.util.HashSet){} + override set(value: HashSet): Unit + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + override var c: IntArray + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.IntArray + // Public signature: /C.c.|-4266900595727428954[0] + // Public signature debug description: (){}kotlin.IntArray + override get(): IntArray + // CHECK: + // Mangled name: C#(kotlin.IntArray){} + // Public signature: /C.c.|6408806882265521793[0] + // Public signature debug description: (kotlin.IntArray){} + override set(value: IntArray): Unit + + // CHECK: + // Mangled name: C{}d + // Public signature: /C.d|5174763769109925331[0] + // Public signature debug description: {}d + override var d: Array + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Array + // Public signature: /C.d.|-5814496384501123578[0] + // Public signature debug description: (){}kotlin.Array + override get(): Array + // CHECK: + // Mangled name: C#(kotlin.Array){} + // Public signature: /C.d.|160244433914068058[0] + // Public signature debug description: (kotlin.Array){} + override set(value: Array): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList? + // Public signature: /D.bar|-1114015493624990905[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + abstract /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.collections.MutableSet? + // Public signature: /D.bar2|-2873137878466437571[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableSet? + abstract /* fake */ override fun bar2(): MutableSet? + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.IntArray? + // Public signature: /D.bar3|8039016854090168633[0] + // Public signature debug description: bar3(){}kotlin.IntArray? + abstract /* fake */ override fun bar3(): IntArray? + + // CHECK JVM_IR: + // Mangled name: D#bar4(){}kotlin.Array? + // Public signature: /D.bar4|8506343176403750960[0] + // Public signature debug description: bar4(){}kotlin.Array? + abstract /* fake */ override fun bar4(): Array? + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList?){} + // Public signature: /D.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + abstract /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.collections.MutableSet?){} + // Public signature: /D.foo2|7094192972215394930[0] + // Public signature debug description: foo2(kotlin.collections.MutableSet?){} + abstract /* fake */ override fun foo2(c: MutableSet?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.IntArray?){} + // Public signature: /D.foo3|9165439092912336634[0] + // Public signature debug description: foo3(kotlin.IntArray?){} + abstract /* fake */ override fun foo3(d: IntArray?): Unit + + // CHECK: + // Mangled name: D#foo4(kotlin.Array?){} + // Public signature: /D.foo4|1672704619806915997[0] + // Public signature debug description: foo4(kotlin.Array?){} + abstract /* fake */ override fun foo4(e: Array?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.MutableList + // Public signature: /E.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: E#bar2(){}kotlin.collections.MutableSet + // Public signature: /E.bar2|6895257317561786542[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableSet + override fun bar2(): MutableSet + + // CHECK JVM_IR: + // Mangled name: E#bar3(){}kotlin.IntArray + // Public signature: /E.bar3|1311395800098768031[0] + // Public signature debug description: bar3(){}kotlin.IntArray + override fun bar3(): IntArray + + // CHECK JVM_IR: + // Mangled name: E#bar4(){}kotlin.Array + // Public signature: /E.bar4|-822819057820886026[0] + // Public signature debug description: bar4(){}kotlin.Array + override fun bar4(): Array + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|1154826910735753439[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo2(kotlin.collections.MutableSet?){} + // Public signature: /E.foo2|-3725789332454442163[0] + // Public signature debug description: foo2(kotlin.collections.MutableSet?){} + override fun foo2(c: MutableSet?): Unit + + // CHECK: + // Mangled name: E#foo3(kotlin.IntArray?){} + // Public signature: /E.foo3|9165439092912336634[0] + // Public signature debug description: foo3(kotlin.IntArray?){} + override fun foo3(d: IntArray?): Unit + + // CHECK: + // Mangled name: E#foo4(kotlin.Array?){} + // Public signature: /E.foo4|-5434745432365457110[0] + // Public signature debug description: foo4(kotlin.Array?){} + override fun foo4(e: Array?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}kotlin.collections.MutableList? + // Public signature: /KotlinInterface.bar|-1114015493624990905[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + abstract /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar2(){}kotlin.collections.MutableSet? + // Public signature: /KotlinInterface.bar2|-2873137878466437571[0] + // Public signature debug description: bar2(){}kotlin.collections.MutableSet? + abstract /* fake */ override fun bar2(): MutableSet? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar3(){}kotlin.IntArray? + // Public signature: /KotlinInterface.bar3|8039016854090168633[0] + // Public signature debug description: bar3(){}kotlin.IntArray? + abstract /* fake */ override fun bar3(): IntArray? + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar4(){}kotlin.Array? + // Public signature: /KotlinInterface.bar4|8506343176403750960[0] + // Public signature debug description: bar4(){}kotlin.Array? + abstract /* fake */ override fun bar4(): Array? + + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.collections.MutableList?){} + // Public signature: /KotlinInterface.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + abstract /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo2(kotlin.collections.MutableSet?){} + // Public signature: /KotlinInterface.foo2|7094192972215394930[0] + // Public signature debug description: foo2(kotlin.collections.MutableSet?){} + abstract /* fake */ override fun foo2(c: MutableSet?): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo3(kotlin.IntArray?){} + // Public signature: /KotlinInterface.foo3|9165439092912336634[0] + // Public signature debug description: foo3(kotlin.IntArray?){} + abstract /* fake */ override fun foo3(d: IntArray?): Unit + + // CHECK: + // Mangled name: KotlinInterface#foo4(kotlin.Array?){} + // Public signature: /KotlinInterface.foo4|1672704619806915997[0] + // Public signature debug description: foo4(kotlin.Array?){} + abstract /* fake */ override fun foo4(e: Array?): Unit + +} + +// CHECK: +// Mangled name: #test(B;C;D;E){} +// Public signature: /test|-2264777070922935105[0] +// Public signature debug description: test(B;C;D;E){} +fun test(b: B, c: C, d: D, e: E): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.ir.txt new file mode 100644 index 00000000000..9f8815edf4d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.ir.txt @@ -0,0 +1,473 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar5 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun bar5 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.Java1, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo5 visibility:public modality:OPEN <> ($this:.Java1, e:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar5 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public open fun bar5 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo5 visibility:public modality:OPEN <> ($this:.Java2, e:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .C' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:java.util.Queue + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.Queue declared in .C' + CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + FUN name:bar3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableSet + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableSet declared in .C' + CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + FUN name:bar4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar5 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + overridden: + public open fun bar5 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar5 (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C, b:java.util.Queue) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:b index:0 type:java.util.Queue + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C, c:kotlin.collections.MutableSet) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C, d:kotlin.IntArray) returnType:kotlin.Unit + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:d index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo5 visibility:public modality:OPEN <> ($this:.C, e:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:e index:0 type:kotlin.Array + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + d: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + e: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .A' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .A' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k5 type:kotlin.Array [val] + TYPE_OP type=@[FlexibleArrayElementVariance] kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleArrayElementVariance] kotlin.Array + CALL 'public open fun bar5 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .A' type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo5 (e: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.collections.List [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .B' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.collections.Set [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k9 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .B' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k10 type:kotlin.Array [val] + TYPE_OP type=@[FlexibleArrayElementVariance] kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleArrayElementVariance] kotlin.Array + CALL 'public open fun bar5 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .B' type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + CALL 'public open fun foo2 (b: java.util.Queue): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: kotlin.collections.MutableSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + CALL 'public open fun foo4 (d: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k11 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:java.util.Queue [val] + CALL 'public open fun bar2 (): java.util.Queue declared in .C' type=java.util.Queue origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k13 type:kotlin.collections.Set [val] + CALL 'public open fun bar3 (): kotlin.collections.MutableSet declared in .C' type=kotlin.collections.MutableSet origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.IntArray [val] + CALL 'public open fun bar4 (): kotlin.IntArray declared in .C' type=kotlin.IntArray origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k15 type:kotlin.Array [val] + CALL 'public open fun bar5 (): kotlin.Array declared in .C' type=kotlin.Array origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.kt.txt new file mode 100644 index 00000000000..3fc1a502e35 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.fir.kt.txt @@ -0,0 +1,123 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf() + } + + override fun bar2(): Queue { + return LinkedList<@FlexibleNullability String?>() + } + + override fun bar3(): MutableSet { + return mutableSetOf() + } + + override fun bar4(): IntArray { + return intArrayOf() + } + + override fun bar5(): Array { + return arrayOf(elements = [""]) + } + + override fun foo(a: MutableList) { + } + + override fun foo2(b: Queue) { + } + + override fun foo3(c: MutableSet) { + } + + override fun foo4(d: IntArray) { + } + + override fun foo5(e: Array) { + } + +} + +fun test(a: A, b: B, c: C) { + a.#a = listOf(element = 1) + a.#b = LinkedList<@FlexibleNullability String?>() + a.#c = setOf(elements = [null, 1]) + a.#d = intArrayOf(elements = [1]) + a.#e = arrayOf<@FlexibleNullability String?>(elements = [null]) + a.foo(a = null) + a.foo(a = listOf(elements = [1, 2])) + a.foo2(b = null) + a.foo2(b = LinkedList<@FlexibleNullability String?>()) + a.foo3(c = null) + a.foo3(c = setOf(elements = ["", 1])) + a.foo4(d = null) + a.foo4(d = intArrayOf(elements = [1])) + a.foo5(e = null) + a.foo5(e = arrayOf(elements = [""])) + val k: List = a.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability Int?> */ + val k2: Queue = a.bar2() /*!! Queue<@FlexibleNullability String?> */ + val k3: Set = a.bar3() /*!! @FlexibleMutability MutableSet<@FlexibleNullability Any?> */ + val k4: IntArray = a.bar4() /*!! IntArray */ + val k5: Array = a.bar5() /*!! @FlexibleArrayElementVariance Array */ + b.#a = listOf(element = 1) + b.#b = LinkedList<@FlexibleNullability String?>() + b.#c = setOf(elements = [null, 1]) + b.#d = intArrayOf(elements = [1]) + b.#e = arrayOf(elements = [""]) + b.foo(a = null) + b.foo(a = listOf(elements = [1, 2])) + b.foo2(b = null) + b.foo2(b = LinkedList<@FlexibleNullability String?>()) + b.foo3(c = null) + b.foo3(c = setOf(elements = ["", 1])) + b.foo4(d = null) + b.foo4(d = intArrayOf(elements = [1])) + b.foo5(e = null) + b.foo5(e = arrayOf(elements = [""])) + val k6: List = b.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability Int?> */ + val k7: Queue = b.bar2() /*!! Queue<@FlexibleNullability String?> */ + val k8: Set = b.bar3() /*!! @FlexibleMutability MutableSet<@FlexibleNullability Any?> */ + val k9: IntArray = b.bar4() /*!! IntArray */ + val k10: Array = b.bar5() /*!! @FlexibleArrayElementVariance Array */ + c.#a = listOf(element = 1) + c.#b = LinkedList<@FlexibleNullability String?>() + c.#c = setOf(elements = [null, 1]) + c.#d = intArrayOf(elements = [1]) + c.#e = arrayOf(elements = [""]) + c.foo(a = mutableListOf()) + c.foo2(b = LinkedList<@FlexibleNullability String?>()) + c.foo3(c = mutableSetOf()) + c.foo4(d = intArrayOf(elements = [1])) + c.foo5(e = arrayOf(elements = [""])) + val k11: List = c.bar() + val k12: Queue = c.bar2() + val k13: Set = c.bar3() + val k14: IntArray = c.bar4() + val k15: Array = c.bar5() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.ir.txt new file mode 100644 index 00000000000..9f3c30e87ba --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.ir.txt @@ -0,0 +1,520 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar5 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun bar5 (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.Java1, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo5 visibility:public modality:OPEN <> ($this:.Java1, e:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: @[FlexibleNullability] kotlin.IntArray? + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: @[FlexibleNullability] kotlin.Array? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar4 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar5 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public open fun bar5 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo4 visibility:public modality:OPEN <> ($this:.Java2, d:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:d index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo5 visibility:public modality:OPEN <> ($this:.Java2, e:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:e index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: @[FlexibleNullability] kotlin.IntArray? + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: @[FlexibleNullability] kotlin.Array? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .C' + CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:java.util.Queue + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.Queue declared in .C' + CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + FUN name:bar3 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.MutableSet + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableSet declared in .C' + CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + FUN name:bar4 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.IntArray + overridden: + public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar4 (): kotlin.IntArray declared in .C' + CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + FUN name:bar5 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Array + overridden: + public open fun bar5 (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar5 (): kotlin.Array declared in .C' + CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.C, b:java.util.Queue) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:b index:0 type:java.util.Queue + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.C, c:kotlin.collections.MutableSet) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet + BLOCK_BODY + FUN name:foo4 visibility:public modality:OPEN <> ($this:.C, d:kotlin.IntArray) returnType:kotlin.Unit + overridden: + public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:d index:0 type:kotlin.IntArray + BLOCK_BODY + FUN name:foo5 visibility:public modality:OPEN <> ($this:.C, e:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:e index:0 type:kotlin.Array + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:FINAL [fake_override,var] + overridden: + public final d: @[FlexibleNullability] kotlin.IntArray? + PROPERTY FAKE_OVERRIDE name:e visibility:public modality:FINAL [fake_override,var] + overridden: + public final e: @[FlexibleNullability] kotlin.Array? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + d: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + e: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .A' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .A' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k5 type:kotlin.Array [val] + TYPE_OP type=kotlin.Array origin=IMPLICIT_CAST typeOperand=kotlin.Array + TYPE_OP type=kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array + CALL 'public open fun bar5 (): @[FlexibleNullability] kotlin.Array? declared in .A' type=@[FlexibleNullability] kotlin.Array? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Any + elements: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo4 (d: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo5 (e: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.collections.List [val] + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .B' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.collections.Set [val] + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k9 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public open fun bar4 (): @[FlexibleNullability] kotlin.IntArray? declared in .B' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k10 type:kotlin.Array [val] + TYPE_OP type=kotlin.Array origin=IMPLICIT_CAST typeOperand=kotlin.Array + TYPE_OP type=kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array + CALL 'public open fun bar5 (): @[FlexibleNullability] kotlin.Array? declared in .B' type=@[FlexibleNullability] kotlin.Array? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun listOf (element: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int + element: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun setOf (vararg elements: T of kotlin.collections.setOf): kotlin.collections.Set declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:d type:@[FlexibleNullability] kotlin.IntArray? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:e type:@[FlexibleNullability] kotlin.Array? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + CALL 'public open fun foo2 (b: java.util.Queue): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + CALL 'public open fun foo3 (c: kotlin.collections.MutableSet): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + CALL 'public open fun foo4 (d: kotlin.IntArray): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + d: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo5 (e: kotlin.Array): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + e: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k11 type:kotlin.collections.List [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .C' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:java.util.Queue [val] + CALL 'public open fun bar2 (): java.util.Queue declared in .C' type=java.util.Queue origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k13 type:kotlin.collections.Set [val] + CALL 'public open fun bar3 (): kotlin.collections.MutableSet declared in .C' type=kotlin.collections.MutableSet origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.IntArray [val] + CALL 'public open fun bar4 (): kotlin.IntArray declared in .C' type=kotlin.IntArray origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k15 type:kotlin.Array [val] + CALL 'public open fun bar5 (): kotlin.Array declared in .C' type=kotlin.Array origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt new file mode 100644 index 00000000000..031906f6b73 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt @@ -0,0 +1,150 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// MODULE: separate +// FILE: Java2.java +import java.util.*; + +public class Java2 { + public List a = new ArrayList(); + public Queue b = new ArrayDeque(); + public Set c = new HashSet(); + public int[] d = new int[1]; + public String[] e = new String[1]; + + public void foo(List a) {}; + public List bar() { return a; }; + + public void foo2(Queue b) {}; + public Queue bar2() { return b; }; + + public void foo3(Set c) {}; + public Set bar3() { return c; }; + + public void foo4(int[] d) {}; + public int[] bar4() { return d; }; + + public void foo5(String[] e){}; + public String[] bar5() { return e; }; +} + +// MODULE: main +// FILE: Java1.java +import java.util.*; + +public class Java1 { + public List a = new ArrayList(); + public Queue b = new ArrayDeque(); + public Set c = new HashSet(); + public int[] d = new int[1]; + public String[] e = new String[1]; + + public void foo(List a) {}; + public List bar() { return a; }; + + public void foo2(Queue b) {}; + public Queue bar2() { return b; }; + + public void foo3(Set c) {}; + public Set bar3() { return c; }; + + public void foo4(int[] d) {}; + public int[] bar4() { return d; }; + + public void foo5(String[] e){}; + public String[] bar5() { return e; }; +} + +// FILE: Java3.java +public interface Java3 extends KotlinInterface { } + +// FILE: 1.kt +import java.util.* + +class A: Java1() //Kotlin ← Java + +class B: Java2() //Kotlin ← Java (separate module) + +class C : Java1() { //Kotlin ← Java with explicit override + override fun bar(): MutableList { + return mutableListOf() + } + override fun bar2(): Queue { + return LinkedList() + } + override fun bar3(): MutableSet { + return mutableSetOf() + } + override fun bar4(): IntArray { + return intArrayOf() + } + override fun bar5(): Array { + return arrayOf("") + } + override fun foo(a: MutableList) { } + override fun foo2(b: Queue) { } + override fun foo3(c: MutableSet) { } + override fun foo4(d: IntArray) { } + override fun foo5(e: Array) { } +} + +fun test(a: A, b: B, c: C) { + a.a = listOf(1) + a.b = LinkedList() + a.c = setOf(null, 1) + a.d = intArrayOf(1) + a.e = arrayOf(null) + a.foo(null) + a.foo(listOf(1,2)) + a.foo2(null) + a.foo2(LinkedList()) + a.foo3(null) + a.foo3(setOf("", 1)) + a.foo4(null) + a.foo4(intArrayOf(1)) + a.foo5(null) + a.foo5(arrayOf("")) + val k: List = a.bar() + val k2: Queue = a.bar2() + val k3: Set = a.bar3() + val k4: IntArray = a.bar4() + val k5: Array = a.bar5() + + b.a = listOf(1) + b.b = LinkedList() + b.c = setOf(null, 1) + b.d = intArrayOf(1) + b.e = arrayOf("") + b.foo(null) + b.foo(listOf(1,2)) + b.foo2(null) + b.foo2(LinkedList()) + b.foo3(null) + b.foo3(setOf("", 1)) + b.foo4(null) + b.foo4(intArrayOf(1)) + b.foo5(null) + b.foo5(arrayOf("")) + val k6: List = b.bar() + val k7: Queue = b.bar2() + val k8: Set = b.bar3() + val k9: IntArray = b.bar4() + val k10: Array = b.bar5() + + c.a = listOf(1) + c.b = LinkedList() + c.c = setOf(null, 1) + c.d = intArrayOf(1) + c.e = arrayOf("") + c.foo(mutableListOf()) + c.foo2(LinkedList()) + c.foo3(mutableSetOf()) + c.foo4(intArrayOf(1)) + c.foo5(arrayOf("")) + val k11: List = c.bar() + val k12: Queue = c.bar2() + val k13: Set = c.bar3() + val k14: IntArray = c.bar4() + val k15: Array = c.bar5() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt.txt new file mode 100644 index 00000000000..f2a28c0e274 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt.txt @@ -0,0 +1,123 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return mutableListOf() + } + + override fun bar2(): Queue { + return LinkedList<@FlexibleNullability String?>() + } + + override fun bar3(): MutableSet { + return mutableSetOf() + } + + override fun bar4(): IntArray { + return intArrayOf() + } + + override fun bar5(): Array { + return arrayOf(elements = [""]) + } + + override fun foo(a: MutableList) { + } + + override fun foo2(b: Queue) { + } + + override fun foo3(c: MutableSet) { + } + + override fun foo4(d: IntArray) { + } + + override fun foo5(e: Array) { + } + +} + +fun test(a: A, b: B, c: C) { + a(super).#a = listOf(element = 1) + a(super).#b = LinkedList<@FlexibleNullability String?>() + a(super).#c = setOf(elements = [null, 1]) + a(super).#d = intArrayOf(elements = [1]) + a(super).#e = arrayOf<@FlexibleNullability String?>(elements = [null]) + a.foo(a = null) + a.foo(a = listOf(elements = [1, 2])) + a.foo2(b = null) + a.foo2(b = LinkedList<@FlexibleNullability String?>()) + a.foo3(c = null) + a.foo3(c = setOf(elements = ["", 1])) + a.foo4(d = null) + a.foo4(d = intArrayOf(elements = [1])) + a.foo5(e = null) + a.foo5(e = arrayOf(elements = [""])) + val k: List = a.bar() /*!! List<@FlexibleNullability Int?> */ + val k2: Queue = a.bar2() /*!! Queue<@FlexibleNullability String?> */ + val k3: Set = a.bar3() /*!! Set<@FlexibleNullability Any?> */ + val k4: IntArray = a.bar4() /*!! IntArray */ + val k5: Array = a.bar5() /*!! Array */ /*as Array */ + b(super).#a = listOf(element = 1) + b(super).#b = LinkedList<@FlexibleNullability String?>() + b(super).#c = setOf(elements = [null, 1]) + b(super).#d = intArrayOf(elements = [1]) + b(super).#e = arrayOf(elements = [""]) + b.foo(a = null) + b.foo(a = listOf(elements = [1, 2])) + b.foo2(b = null) + b.foo2(b = LinkedList<@FlexibleNullability String?>()) + b.foo3(c = null) + b.foo3(c = setOf(elements = ["", 1])) + b.foo4(d = null) + b.foo4(d = intArrayOf(elements = [1])) + b.foo5(e = null) + b.foo5(e = arrayOf(elements = [""])) + val k6: List = b.bar() /*!! List<@FlexibleNullability Int?> */ + val k7: Queue = b.bar2() /*!! Queue<@FlexibleNullability String?> */ + val k8: Set = b.bar3() /*!! Set<@FlexibleNullability Any?> */ + val k9: IntArray = b.bar4() /*!! IntArray */ + val k10: Array = b.bar5() /*!! Array */ /*as Array */ + c(super).#a = listOf(element = 1) + c(super).#b = LinkedList<@FlexibleNullability String?>() + c(super).#c = setOf(elements = [null, 1]) + c(super).#d = intArrayOf(elements = [1]) + c(super).#e = arrayOf(elements = [""]) + c.foo(a = mutableListOf()) + c.foo2(b = LinkedList<@FlexibleNullability String?>()) + c.foo3(c = mutableSetOf()) + c.foo4(d = intArrayOf(elements = [1])) + c.foo5(e = arrayOf(elements = [""])) + val k11: List = c.bar() + val k12: Queue = c.bar2() + val k13: Set = c.bar3() + val k14: IntArray = c.bar4() + val k15: Array = c.bar5() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.sig.kt.txt new file mode 100644 index 00000000000..b2e9cf0f3b9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.sig.kt.txt @@ -0,0 +1,225 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|-1114015493624990905[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}java.util.Queue? + // Public signature: /A.bar2|4604700617113474853[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableSet? + // Public signature: /A.bar3|6297049454789660059[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK JVM_IR: + // Mangled name: A#bar4(){}kotlin.IntArray? + // Public signature: /A.bar4|-7961458147952927558[0] + // Public signature debug description: bar4(){}kotlin.IntArray? + /* fake */ override fun bar4(): IntArray? + + // CHECK JVM_IR: + // Mangled name: A#bar5(){}kotlin.Array? + // Public signature: /A.bar5|8083621744028159857[0] + // Public signature debug description: bar5(){}kotlin.Array? + /* fake */ override fun bar5(): Array? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(java.util.Queue?){} + // Public signature: /A.foo2|-5108692108404775133[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableSet?){} + // Public signature: /A.foo3|6303247791483976528[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + + // CHECK: + // Mangled name: A#foo4(kotlin.IntArray?){} + // Public signature: /A.foo4|8482610791225899171[0] + // Public signature debug description: foo4(kotlin.IntArray?){} + /* fake */ override fun foo4(d: IntArray?): Unit + + // CHECK: + // Mangled name: A#foo5(kotlin.Array?){} + // Public signature: /A.foo5|9152705599263235131[0] + // Public signature debug description: foo5(kotlin.Array?){} + /* fake */ override fun foo5(e: Array?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList? + // Public signature: /B.bar|-1114015493624990905[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}java.util.Queue? + // Public signature: /B.bar2|4604700617113474853[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableSet? + // Public signature: /B.bar3|6297049454789660059[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK JVM_IR: + // Mangled name: B#bar4(){}kotlin.IntArray? + // Public signature: /B.bar4|-7961458147952927558[0] + // Public signature debug description: bar4(){}kotlin.IntArray? + /* fake */ override fun bar4(): IntArray? + + // CHECK JVM_IR: + // Mangled name: B#bar5(){}kotlin.Array? + // Public signature: /B.bar5|8083621744028159857[0] + // Public signature debug description: bar5(){}kotlin.Array? + /* fake */ override fun bar5(): Array? + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(java.util.Queue?){} + // Public signature: /B.foo2|-5108692108404775133[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableSet?){} + // Public signature: /B.foo3|6303247791483976528[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + + // CHECK: + // Mangled name: B#foo4(kotlin.IntArray?){} + // Public signature: /B.foo4|8482610791225899171[0] + // Public signature debug description: foo4(kotlin.IntArray?){} + /* fake */ override fun foo4(d: IntArray?): Unit + + // CHECK: + // Mangled name: B#foo5(kotlin.Array?){} + // Public signature: /B.foo5|9152705599263235131[0] + // Public signature debug description: foo5(kotlin.Array?){} + /* fake */ override fun foo5(e: Array?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList + // Public signature: /C.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}java.util.Queue + // Public signature: /C.bar2|5456779506473823437[0] + // Public signature debug description: bar2(){}java.util.Queue + override fun bar2(): Queue + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableSet + // Public signature: /C.bar3|-7155817013488815162[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet + override fun bar3(): MutableSet + + // CHECK JVM_IR: + // Mangled name: C#bar4(){}kotlin.IntArray + // Public signature: /C.bar4|-2688278137248686841[0] + // Public signature debug description: bar4(){}kotlin.IntArray + override fun bar4(): IntArray + + // CHECK JVM_IR: + // Mangled name: C#bar5(){}kotlin.Array + // Public signature: /C.bar5|2699336165220827642[0] + // Public signature debug description: bar5(){}kotlin.Array + override fun bar5(): Array + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList){} + // Public signature: /C.foo|-316185058744300957[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: C#foo2(java.util.Queue){} + // Public signature: /C.foo2|4032965449366380058[0] + // Public signature debug description: foo2(java.util.Queue){} + override fun foo2(b: Queue): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableSet){} + // Public signature: /C.foo3|3134530016756302114[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet){} + override fun foo3(c: MutableSet): Unit + + // CHECK: + // Mangled name: C#foo4(kotlin.IntArray){} + // Public signature: /C.foo4|-2873175230908696783[0] + // Public signature debug description: foo4(kotlin.IntArray){} + override fun foo4(d: IntArray): Unit + + // CHECK: + // Mangled name: C#foo5(kotlin.Array){} + // Public signature: /C.foo5|-1560693066375057898[0] + // Public signature debug description: foo5(kotlin.Array){} + override fun foo5(e: Array): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C){} +// Public signature: /test|-4981009800298118531[0] +// Public signature debug description: test(A;B;C){} +fun test(a: A, b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.ir.txt new file mode 100644 index 00000000000..3dc0241f9ab --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.ir.txt @@ -0,0 +1,186 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $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:.J1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.J1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + 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 .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $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:.J2, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.J2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .C' + CONST String type=kotlin.String value="" + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .D' + CONST String type=kotlin.String value="" + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:param type:kotlin.String? [val] + CONST String type=kotlin.String value="1" + VAR name:k1 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k2 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .A' type=@[FlexibleNullability] kotlin.String? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k6 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k7 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k9 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k10 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k11 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .C' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k13 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k14 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k15 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k16 type:kotlin.Unit [val] + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.kt.txt new file mode 100644 index 00000000000..bbecb5218e6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.fir.kt.txt @@ -0,0 +1,73 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +class C : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "" + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "" + } + +} + +fun test() { + val param: String? = "1" + val k1: String = A().#nullableString /*!! String */ + val k2: String? = A().#nullableString + val k3: String = A().getNullableString() /*!! String */ + val k4: Unit = A().foo(s = param) + val k5: String = B().#nullableString /*!! String */ + val k6: String? = B().#nullableString + val k7: String = B().getNullableString() /*!! String */ + val k8: Unit = B().foo(s = param) + val k9: String = C().#nullableString /*!! String */ + val k10: String? = C().#nullableString + val k11: String = C().getNullableString() + val k12: Unit = C().foo(s = param) + val k13: String = D().#nullableString /*!! String */ + val k14: String = D().#nullableString /*!! String */ + val k15: String = D().getNullableString() + val k16: Unit = D().foo(s = param) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.ir.txt new file mode 100644 index 00000000000..60c35de0eae --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.ir.txt @@ -0,0 +1,198 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $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:.J1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.J1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + 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 .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $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:.J2, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.J2) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .C' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .D' + CONST String type=kotlin.String value="" + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:param type:kotlin.String? [val] + CONST String type=kotlin.String value="1" + VAR name:k1 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k2 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .A' type=@[FlexibleNullability] kotlin.String? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k5 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k6 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k7 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k9 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k10 type:kotlin.String? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k11 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .C' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null + VAR name:k13 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k14 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k15 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k16 type:kotlin.Unit [val] + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + s: GET_VAR 'val param: kotlin.String? declared in .test' type=kotlin.String? origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt new file mode 100644 index 00000000000..05d9122bd13 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt @@ -0,0 +1,63 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: J2.java +public class J2 { + public String nullableString = ""; + public String getNullableString() { + return nullableString; + } + public void foo(String s) {} +} + +// MODULE: main +// FILE: J1.java + +public class J1 { + public String nullableString = ""; + public String getNullableString() { + return nullableString; + } + public void foo(String s) {} +} + +// FILE: 1.kt + +class A : J1() //Kotlin ← Java + +class B : J2() //Kotlin ← Java (separate module) + +class C : J1() { //Kotlin ← Java with explicit override + override fun getNullableString(): String { + return "" + } + override fun foo(s: String?) {} +} + +class D : J2() { //Kotlin ← Java with explicit override (separate module) + override fun getNullableString(): String { + return "" + } + override fun foo(s: String?) {} +} + +fun test() { + val param: String? = "1" + + val k1: String = A().nullableString + val k2: String? = A().nullableString + val k3: String = A().getNullableString() + val k4: Unit = A().foo(param) + val k5: String = B().nullableString + val k6: String? = B().nullableString + val k7: String = B().getNullableString() + val k8: Unit = B().foo(param) + val k9: String = C().nullableString + val k10: String? = C().nullableString + val k11: String = C().getNullableString() + val k12: Unit = C().foo(param) + val k13: String = D().nullableString + val k14: String = D().nullableString + val k15: String = D().getNullableString() + val k16: Unit = D().foo(param) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt.txt new file mode 100644 index 00000000000..b47ee5b5547 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt.txt @@ -0,0 +1,73 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +class C : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "" + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "" + } + +} + +fun test() { + val param: String? = "1" + val k1: String = A()(super).#nullableString /*!! String */ + val k2: String? = A()(super).#nullableString + val k3: String = A().getNullableString() /*!! String */ + val k4: Unit = A().foo(s = param) + val k5: String = B()(super).#nullableString /*!! String */ + val k6: String? = B()(super).#nullableString + val k7: String = B().getNullableString() /*!! String */ + val k8: Unit = B().foo(s = param) + val k9: String = C()(super).#nullableString /*!! String */ + val k10: String? = C()(super).#nullableString + val k11: String = C().getNullableString() + val k12: Unit = C().foo(s = param) + val k13: String = D()(super).#nullableString /*!! String */ + val k14: String = D()(super).#nullableString /*!! String */ + val k15: String = D().getNullableString() + val k16: Unit = D().foo(s = param) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.sig.kt.txt new file mode 100644 index 00000000000..d3c70d481dd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.sig.kt.txt @@ -0,0 +1,105 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : J1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.String?){} + // Public signature: /A.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getNullableString(){}kotlin.String? + // Public signature: /A.getNullableString|6881651708779767674[0] + // Public signature debug description: getNullableString(){}kotlin.String? + /* fake */ override fun getNullableString(): String? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : J2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getNullableString(){}kotlin.String? + // Public signature: /B.getNullableString|6881651708779767674[0] + // Public signature debug description: getNullableString(){}kotlin.String? + /* fake */ override fun getNullableString(): String? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : J1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.String?){} + // Public signature: /C.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getNullableString(){}kotlin.String + // Public signature: /C.getNullableString|-1945283449268521403[0] + // Public signature debug description: getNullableString(){}kotlin.String + override fun getNullableString(): String + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : J2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.String?){} + // Public signature: /D.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getNullableString(){}kotlin.String + // Public signature: /D.getNullableString|-1945283449268521403[0] + // Public signature debug description: getNullableString(){}kotlin.String + override fun getNullableString(): String + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..168719431bd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,320 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=0 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun bar (o: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + $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:.A) returnType:kotlin.Int [fake_override] + overridden: + public open fun foo (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun bar (o: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun foo (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=2 + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + : CONST Int type=kotlin.Int value=3 + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=3 + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k9 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (value: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=3 + VAR name:k11 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k20 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..d800d9a19ff --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,105 @@ +open class A { + open val a: Int + field = 1 + open get + + open var b: Int + field = 1 + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(o: Int) { + } + + open fun foo(): Int { + return 0 + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 2 + } + + override val a: Int + override get(): Int { + return 2 + } + + override var b: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 2 + } + +} + +interface D : Java2 { +} + +interface KotlinInterface : Java3 { +} + +fun test(a: A, b: B, c: C, d: D, e: E) { + val k1: Int = a.() + val k2: Int = a.() + a.( = 3) + val k3: Int = a.foo() + val k4: Unit = a.bar(o = 1) + val k5: Int = b.() + val k6: Int = b.() + b.( = 3) + val k7: Int = b.foo() + val k8: Unit = b.bar(o = 1) + val k9: Int = c.() + val k10: Int = c.() + c.(value = 3) + val k11: Int = c.foo() + val k12: Unit = c.bar(o = 1) + val k17: Int = d.foo() /*!! Int */ + val k18: Unit = d.bar(o = 1) + val k19: Int = e.foo() + val k20: Unit = e.bar(o = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..126a3d97a6a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,320 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + PROPERTY name:b visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=0 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public open fun bar (o: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + $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:.A) returnType:kotlin.Int [fake_override] + overridden: + public open fun foo (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open b: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public open fun bar (o: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun foo (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open b: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=2 + FUN name: visibility:public modality:OPEN <> ($this:.C, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=2 + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=EQ + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + : CONST Int type=kotlin.Int value=3 + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=3 + VAR name:k7 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k9 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (value: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=3 + VAR name:k11 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k20 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..c4d3b713af8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt @@ -0,0 +1,78 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 extends A { } + +// FILE: Java2.java + +public interface Java2 extends KotlinInterface { } + +// FILE: Java3.java + +public interface Java3 { + public Integer a = 0; + public Integer foo(); + public void bar(Integer o); +} + +// FILE: 1.kt +open class A { + open val a: Int = 1 + open var b: Int = 1 + open fun foo(): Int { + return 0 + } + open fun bar(o: Int) {} +} + +class B : Java1() //Kotlin ← Java ← Kotlin + +class C : Java1() { //Kotlin ← Java ← Kotlin with explicit override + override fun bar(o: Int) {} + + override fun foo(): Int { + return 2 + } + + override var b: Int + get() = 2 + set(value) {} + + override val a: Int + get() = 2 +} + +interface D : Java2 //Kotlin ← Java ← Kotlin ← Java + +class E : Java2 { //Kotlin ← Java ← Kotlin ← Java with explicit override + override fun foo(): Int { + return 2 + } + + override fun bar(o: Int) {} +} + +interface KotlinInterface : Java3 + +fun test(a: A, b: B, c: C, d: D, e: E) { + val k1: Int = a.a + val k2: Int = a.b + a.b = 3 + val k3: Int = a.foo() + val k4: Unit = a.bar(1) + val k5 = b.a + val k6 = b.b + b.b = 3 + val k7: Int = b.foo() + val k8: Unit = b.bar(1) + val k9 = c.a + val k10 = c.b + c.b = 3 + val k11: Int = c.foo() + val k12: Unit = c.bar(1) + val k17: Int = d.foo() + val k18: Unit = d.bar(1) + val k19: Int = e.foo() + val k20: Unit = e.bar(1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..d800d9a19ff --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,105 @@ +open class A { + open val a: Int + field = 1 + open get + + open var b: Int + field = 1 + open get + open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun bar(o: Int) { + } + + open fun foo(): Int { + return 0 + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 2 + } + + override val a: Int + override get(): Int { + return 2 + } + + override var b: Int + override get(): Int { + return 2 + } + override set(value: Int) { + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 2 + } + +} + +interface D : Java2 { +} + +interface KotlinInterface : Java3 { +} + +fun test(a: A, b: B, c: C, d: D, e: E) { + val k1: Int = a.() + val k2: Int = a.() + a.( = 3) + val k3: Int = a.foo() + val k4: Unit = a.bar(o = 1) + val k5: Int = b.() + val k6: Int = b.() + b.( = 3) + val k7: Int = b.foo() + val k8: Unit = b.bar(o = 1) + val k9: Int = c.() + val k10: Int = c.() + c.(value = 3) + val k11: Int = c.foo() + val k12: Unit = c.bar(o = 1) + val k17: Int = d.foo() /*!! Int */ + val k18: Unit = d.bar(o = 1) + val k19: Int = e.foo() + val k20: Unit = e.bar(o = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..32a907c0b3c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,218 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A { + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + open var b: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + open fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + open fun foo(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + /* fake */ override var b: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override var b: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.b.|-2902143276921469679[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.b.|393614520529327556[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +interface D : Java2 { + // CHECK: + // Mangled name: D#bar(kotlin.Int?){} + // Public signature: /D.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + abstract /* fake */ override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int? + // Public signature: /D.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java3 { + // CHECK: + // Mangled name: KotlinInterface#bar(kotlin.Int?){} + // Public signature: /KotlinInterface.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + abstract /* fake */ override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}kotlin.Int? + // Public signature: /KotlinInterface.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E){} +// Public signature: /test|-2438321255514416736[0] +// Public signature debug description: test(A;B;C;D;E){} +fun test(a: A, b: B, c: C, d: D, e: E): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.ir.txt new file mode 100644 index 00000000000..9c028bcb652 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.ir.txt @@ -0,0 +1,203 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + 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 .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .C' + CONST String type=kotlin.String value="C" + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C]' + 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 .C + $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:.C, s:kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String [fake_override] + overridden: + public open fun getNullableString (): kotlin.String declared in .C + $this: VALUE_PARAMETER name: type:.C + 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 .C + $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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.C]' + 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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .C + $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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.String + overridden: + public open fun getNullableString (): kotlin.String declared in .C + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .E' + CONST String type=kotlin.String value="E" + FUN name:test visibility:public modality:FINAL <> (b:.B, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:d index:1 type:.D + VALUE_PARAMETER name:e index:2 type:.E + BLOCK_BODY + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST String type=kotlin.String value="B" + VAR name:k1 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + value: CONST String type=kotlin.String value="C" + VAR name:k3 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST String type=kotlin.String value="E" + VAR name:k5 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .E' type=kotlin.String origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k6 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.kt.txt new file mode 100644 index 00000000000..1024731a98f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.fir.kt.txt @@ -0,0 +1,76 @@ +open class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +open class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "C" + } + +} + +class D : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + +} + +class E : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "E" + } + +} + +fun test(b: B, d: D, e: E) { + b.foo(s = null) + b.foo(s = "") + b.#nullableString = "B" + val k1: String = b.getNullableString() /*!! String */ + val k2: String = b.#nullableString /*!! String */ + d.foo(s = null) + d.foo(s = "") + d.#nullableString = "C" + val k3: String = d.getNullableString() + val k4: String = d.#nullableString /*!! String */ + e.foo(s = null) + e.foo(s = "") + e.#nullableString = "E" + val k5: String = e.getNullableString() + val k6: String = e.#nullableString /*!! String */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.ir.txt new file mode 100644 index 00000000000..07dfe9d7c5f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.ir.txt @@ -0,0 +1,218 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.A]' + 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 .A + $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:.Java1, s:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:s index:0 type:@[FlexibleNullability] kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.String? [fake_override] + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .A + $this: VALUE_PARAMETER name: type:.Java1 + 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 .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString + CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String + overridden: + public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .C' + CONST String type=kotlin.String value="C" + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString: @[FlexibleNullability] kotlin.String? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.C]' + 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 .C + $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:.C, s:kotlin.String?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:s index:0 type:kotlin.String? + FUN FAKE_OVERRIDE name:getNullableString visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.String [fake_override] + overridden: + public open fun getNullableString (): kotlin.String declared in .C + $this: VALUE_PARAMETER name: type:.C + 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 .C + $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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.C] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .C' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.C]' + 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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .C + $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 .C + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E, s:kotlin.String?) returnType:kotlin.Unit + overridden: + public open fun foo (s: kotlin.String?): kotlin.Unit declared in .C + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:s index:0 type:kotlin.String? + BLOCK_BODY + FUN name:getNullableString visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.String + overridden: + public open fun getNullableString (): kotlin.String declared in .C + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun getNullableString (): kotlin.String declared in .E' + CONST String type=kotlin.String value="E" + PROPERTY FAKE_OVERRIDE name:nullableString visibility:public modality:FINAL [fake_override,var] + overridden: + public final nullableString + FUN name:test visibility:public modality:FINAL <> (b:.B, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:d index:1 type:.D + VALUE_PARAMETER name:e index:2 type:.E + BLOCK_BODY + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST String type=kotlin.String value="B" + VAR name:k1 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun getNullableString (): @[FlexibleNullability] kotlin.String? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + value: CONST String type=kotlin.String value="C" + VAR name:k3 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (s: kotlin.String?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + s: CONST String type=kotlin.String value="" + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST String type=kotlin.String value="E" + VAR name:k5 type:kotlin.String [val] + CALL 'public open fun getNullableString (): kotlin.String declared in .E' type=kotlin.String origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k6 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:nullableString type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt new file mode 100644 index 00000000000..3ef2a099944 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt @@ -0,0 +1,53 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 { + public String nullableString = ""; + public String getNullableString() { + return nullableString; + } + public void foo(String s) {} +} + +// FILE: 1.kt + +open class A: Java1() + +class B : A() //Grandparent(field/method) ← Parent (fake-override) ← Child (fake-override) + +open class C : Java1() { + override fun foo(s: String?) {} + override fun getNullableString(): String { + return "C" + } +} + +class D : C() //Grandparent(field/method) ← Parent (explicit override) ← Child (fake-override) + +class E : C() { //Grandparent(field/method) ← Parent (explicit override) ← Child (explicit override) + override fun foo(s: String?) { } + override fun getNullableString(): String { + return "E" + } +} + +fun test(b: B, d: D, e: E){ + b.foo(null) + b.foo("") + b.nullableString = "B" + val k1: String = b.getNullableString() + val k2: String = b.nullableString + + d.foo(null) + d.foo("") + d.nullableString = "C" + val k3: String = d.getNullableString() + val k4: String = d.nullableString + + e.foo(null) + e.foo("") + e.nullableString = "E" + val k5: String = e.getNullableString() + val k6: String = e.nullableString +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt.txt new file mode 100644 index 00000000000..9a4225f042a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt.txt @@ -0,0 +1,76 @@ +open class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +open class C : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "C" + } + +} + +class D : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + +} + +class E : C { + constructor() /* primary */ { + super/*C*/() + /* () */ + + } + + override fun foo(s: String?) { + } + + override fun getNullableString(): String { + return "E" + } + +} + +fun test(b: B, d: D, e: E) { + b.foo(s = null) + b.foo(s = "") + b(super).#nullableString = "B" + val k1: String = b.getNullableString() /*!! String */ + val k2: String = b(super).#nullableString /*!! String */ + d.foo(s = null) + d.foo(s = "") + d(super).#nullableString = "C" + val k3: String = d.getNullableString() + val k4: String = d(super).#nullableString /*!! String */ + e.foo(s = null) + e.foo(s = "") + e(super).#nullableString = "E" + val k5: String = e.getNullableString() + val k6: String = e(super).#nullableString /*!! String */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.sig.kt.txt new file mode 100644 index 00000000000..a4b92d16da0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.sig.kt.txt @@ -0,0 +1,125 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +open class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.String?){} + // Public signature: /A.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: A#getNullableString(){}kotlin.String? + // Public signature: /A.getNullableString|6881651708779767674[0] + // Public signature debug description: getNullableString(){}kotlin.String? + /* fake */ override fun getNullableString(): String? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.String?){} + // Public signature: /B.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: B#getNullableString(){}kotlin.String? + // Public signature: /B.getNullableString|6881651708779767674[0] + // Public signature debug description: getNullableString(){}kotlin.String? + /* fake */ override fun getNullableString(): String? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +open class C : Java1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.String?){} + // Public signature: /C.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: C#getNullableString(){}kotlin.String + // Public signature: /C.getNullableString|-1945283449268521403[0] + // Public signature debug description: getNullableString(){}kotlin.String + override fun getNullableString(): String + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : C { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.String?){} + // Public signature: /D.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + /* fake */ override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: D#getNullableString(){}kotlin.String + // Public signature: /D.getNullableString|-1945283449268521403[0] + // Public signature debug description: getNullableString(){}kotlin.String + /* fake */ override fun getNullableString(): String + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : C { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.String?){} + // Public signature: /E.foo|-7402282804178432687[0] + // Public signature debug description: foo(kotlin.String?){} + override fun foo(s: String?): Unit + + // CHECK JVM_IR: + // Mangled name: E#getNullableString(){}kotlin.String + // Public signature: /E.getNullableString|-1945283449268521403[0] + // Public signature debug description: getNullableString(){}kotlin.String + override fun getNullableString(): String + +} + +// CHECK: +// Mangled name: #test(B;D;E){} +// Public signature: /test|-6778578765888432501[0] +// Public signature debug description: test(B;D;E){} +fun test(b: B, d: D, e: E): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..0e5b96bb9d9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,957 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .G.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Int declared in .G.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.G [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.Int declared in .H.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Kotlin2; .Java3]' + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.L, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java4; .Java3]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.N, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.N, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.O, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.O + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .O' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:Kotlin modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.Kotlin + CLASS INTERFACE name:Kotlin2 modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin2 + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, l:.L, m:.M, n:.N, o:.O) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + VALUE_PARAMETER name:j index:8 type:.J + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + VALUE_PARAMETER name:o index:12 type:.O + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k9 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k11 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k16 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k19 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k20 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k21 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k22 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k23 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k24 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k26 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k27 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k30 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k31 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k32 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k33 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k34 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k35 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k36 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k37 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST String type=kotlin.String value="" + VAR name:k38 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k39 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k40 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k41 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST String type=kotlin.String value="" + VAR name:k42 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k43 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + VAR name:k44 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k45 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST String type=kotlin.String value="" + VAR name:k46 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k47 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + VAR name:k48 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k49 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST String type=kotlin.String value="" + VAR name:k50 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k51 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .N' type=kotlin.Int origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + VAR name:k52 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k53 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST String type=kotlin.String value="" + VAR name:k54 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k55 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .O' type=kotlin.Int origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..4d5b665ce70 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,281 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1, Java2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class D : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + +} + +abstract class F : Java2, Kotlin { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class G : Java2, Kotlin { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(): Int { + return 1 + } + +} + +class H : Java2, Kotlin { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class I : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class J : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class L : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + +} + +abstract class M : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class N : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class O : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface A { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface Kotlin { + abstract fun bar(o: Any) + + abstract fun foo(): Any + +} + +interface Kotlin2 : Java1 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L, m: M, n: N, o: O) { + val k: Int = b.() + b.( = 1) + val k2: Unit = b.bar(o = 1) + val k3: Unit = b.bar(o = "") + val k4: Unit = b.bar(o = null) + val k5: Int = b.foo() + val k6: Int = c.() + c.( = 1) + val k7: Unit = c.bar(o = 1) + val k8: Unit = c.bar(o = "") + val k9: Unit = c.bar(o = null) + val k10: Int = c.foo() + val k11: Int = d.() + d.( = 1) + val k12: Unit = d.bar(o = 1) + val k13: Unit = d.bar(o = "") + val k14: Unit = d.bar(o = null) + val k15: Int = d.foo() + val k16: Int = e.() + e.( = 1) + val k17: Unit = e.bar(o = 1) + val k18: Unit = e.bar(o = "") + val k19: Int = e.foo() + val k20: Int = f.() + f.( = 1) + val k21: Unit = f.bar(o = 1) + val k22: Unit = f.bar(o = "") + val k23: Int = f.foo() + val k24: Int = g.() + g.( = 1) + val k25: Unit = g.bar(o = 1) + val k26: Unit = g.bar(o = "") + val k27: Int = f.foo() + val k28: Int = h.() + h.( = 1) + val k29: Unit = h.bar(o = 1) + val k30: Unit = h.bar(o = "") + val k31: Int = h.foo() + val k32: Unit = i.bar(o = 1) + val k33: Unit = i.bar(o = "") + val k34: Unit = i.bar(o = null) + val k35: Int = i.foo() + val k36: Unit = j.bar(o = 1) + val k37: Unit = j.bar(o = "") + val k38: Unit = j.bar(o = null) + val k39: Int = j.foo() + val k40: Unit = l.bar(o = 1) + val k41: Unit = l.bar(o = "") + val k42: Unit = l.bar(o = null) + val k43: Int = l.foo() + val k44: Unit = m.bar(o = 1) + val k45: Unit = m.bar(o = "") + val k46: Unit = m.bar(o = null) + val k47: Int = m.foo() + val k48: Unit = n.bar(o = 1) + val k49: Unit = n.bar(o = "") + val k50: Unit = n.bar(o = null) + val k51: Int = n.foo() + val k52: Unit = o.bar(o = 1) + val k53: Unit = o.bar(o = "") + val k54: Unit = o.bar(o = null) + val k55: Int = o.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..249c2acd680 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.ir.txt @@ -0,0 +1,957 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .C.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int declared in .C.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .G.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.G, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Int declared in .G.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.G [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Kotlin; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .H.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.H, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + value: GET_VAR ': kotlin.Int declared in .H.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.H [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Kotlin; .Java2]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .Kotlin + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public abstract fun foo (): kotlin.Any declared in .Kotlin + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Kotlin2; .Java3]' + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:ABSTRACT visibility:public superTypes:[.Kotlin2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Kotlin2 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.L, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Kotlin2 + $this: VALUE_PARAMETER name: type:.L + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java4; .Java3]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.N, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.N, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.N + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.Java4; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.O, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.O + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java4 + public abstract fun foo (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .O' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:Kotlin modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Kotlin + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.Kotlin + CLASS INTERFACE name:Kotlin2 modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin2 + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Any? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, l:.L, m:.M, n:.N, o:.O) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + VALUE_PARAMETER name:j index:8 type:.J + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + VALUE_PARAMETER name:o index:12 type:.O + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k9 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k11 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k16 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k19 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k20 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k21 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k22 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k23 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k24 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=EQ + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k26 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k27 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k30 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k31 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k32 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k33 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k34 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k35 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k36 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k37 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST String type=kotlin.String value="" + VAR name:k38 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k39 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k40 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k41 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST String type=kotlin.String value="" + VAR name:k42 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k43 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .L' type=kotlin.Int origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + VAR name:k44 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k45 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST String type=kotlin.String value="" + VAR name:k46 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k47 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .M' type=kotlin.Int origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + VAR name:k48 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k49 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST String type=kotlin.String value="" + VAR name:k50 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k51 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .N' type=kotlin.Int origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + VAR name:k52 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k53 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST String type=kotlin.String value="" + VAR name:k54 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k55 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .O' type=kotlin.Int origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt new file mode 100644 index 00000000000..c2720383677 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt @@ -0,0 +1,181 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + Object a = null; + Object foo(); + void bar(Object o); +} + +// FILE: Java2.java +public interface Java2 extends A { } + +// FILE: Java3.java +public interface Java3 { + int a = 1; + int foo(); + void bar(int o); +} + +// FILE: Java4.java +public interface Java4 extends Java1 { } + +// FILE: 1.kt + +interface A { + var a: Int; + fun foo(): Int; + fun bar(o: Int); +} + +abstract class B : Java1, Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class C(override var a: Int) : Java1, Java2 { //Kotlin ← Java1, Java2 ← Kotlin2 with explicit override + override fun bar(o: Int) { } + + override fun foo(): Int { + return 1 + } + + override fun bar(o: Any?) { } +} + +abstract class D : Java1, Java2 { //Kotlin ← Java1, Java2 ← Kotlin2 with explicit override + override fun bar(o: Int) { } + + override fun foo(): Int { + return 1 + } +} + +abstract class E : Java1, Java2 { //Kotlin ← Java1, Java2 ← Kotlin2 with explicit override + override fun bar(o: Any) { } +} + +abstract class F : Kotlin, Java2 // Kotlin ← Java, Kotlin2 ← Kotlin3 + +abstract class G(override var a: Int) : Kotlin, Java2 { // Kotlin ← Java, Kotlin2 ← Kotlin3 with explicit override + override fun foo(): Int { + return 1 + } +} + +class H(override var a: Int) : Kotlin, Java2 { // Kotlin ← Java, Kotlin2 ← Kotlin3 with explicit override + override fun bar(o: Int) { } + + override fun foo(): Int { + return 1 + } + + override fun bar(o: Any) { } +} + +abstract class I : Kotlin2, Java3 //Kotlin ← Java, Kotlin2 ← Java2 + +class J : Kotlin2, Java3 { //Kotlin ← Java, Kotlin2 ← Java2 with explicit override + override fun bar(o: Int) { } + + override fun bar(o: Any?) { } + + override fun foo(): Int { + return 1 + } + +} + +abstract class L : Kotlin2, Java3 { //Kotlin ← Java, Kotlin2 ← Java2 with explicit override + override fun bar(o: Any?) { } +} + +abstract class M : Java4, Java3 //Kotlin ← Java1, Java2 ← Java3 + +class N : Java4, Java3 { //Kotlin ← Java1, Java2 ← Java3 with explicit override + override fun bar(o: Int) { } + + override fun bar(o: Any?) { } + + override fun foo(): Int { + return 1 + } +} + +abstract class O : Java4, Java3 { //Kotlin ← Java1, Java2 ← Java3 with explicit override + override fun bar(o: Int) { } + + override fun foo(): Int { + return 1 + } +} + +interface Kotlin { + fun foo(): Any; + fun bar(o: Any); +} + +interface Kotlin2 : Java1 + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j:J, l: L, + m: M, n: N, o: O) { + val k: Int = b.a + b.a = 1 + val k2: Unit = b.bar(1) + val k3: Unit = b.bar("") + val k4: Unit = b.bar(null) + val k5: Int = b.foo() + val k6: Int = c.a + c.a = 1 + val k7: Unit = c.bar(1) + val k8: Unit = c.bar("") + val k9: Unit = c.bar(null) + val k10: Int = c.foo() + val k11: Int = d.a + d.a = 1 + val k12: Unit = d.bar(1) + val k13: Unit = d.bar("") + val k14: Unit = d.bar(null) + val k15: Int = d.foo() + val k16: Int = e.a + e.a = 1 + val k17: Unit = e.bar(1) + val k18: Unit = e.bar("") + val k19: Int = e.foo() + val k20: Int = f.a + f.a = 1 + val k21: Unit = f.bar(1) + val k22: Unit = f.bar("") + val k23: Int = f.foo() + val k24: Int = g.a + g.a = 1 + val k25: Unit = g.bar(1) + val k26: Unit = g.bar("") + val k27: Int = f.foo() + val k28: Int = h.a + h.a = 1 + val k29: Unit = h.bar(1) + val k30: Unit = h.bar("") + val k31: Int = h.foo() + val k32: Unit = i.bar(1) + val k33: Unit = i.bar("") + val k34: Unit = i.bar(null) + val k35: Int = i.foo() + val k36: Unit = j.bar(1) + val k37: Unit = j.bar("") + val k38: Unit = j.bar(null) + val k39: Int = j.foo() + val k40: Unit = l.bar(1) + val k41: Unit = l.bar("") + val k42: Unit = l.bar(null) + val k43: Int = l.foo() + val k44: Unit = m.bar(1) + val k45: Unit = m.bar("") + val k46: Unit = m.bar(null) + val k47: Int = m.foo() + val k48: Unit = n.bar(1) + val k49: Unit = n.bar("") + val k50: Unit = n.bar(null) + val k51: Int = n.foo() + val k52: Unit = o.bar(1) + val k53: Unit = o.bar("") + val k54: Unit = o.bar(null) + val k55: Int = o.foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..4d5b665ce70 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt.txt @@ -0,0 +1,281 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1, Java2 { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class D : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class E : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + +} + +abstract class F : Java2, Kotlin { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class G : Java2, Kotlin { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(): Int { + return 1 + } + +} + +class H : Java2, Kotlin { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class I : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class J : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class L : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + +} + +abstract class M : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class N : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class O : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface A { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface Kotlin { + abstract fun bar(o: Any) + + abstract fun foo(): Any + +} + +interface Kotlin2 : Java1 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L, m: M, n: N, o: O) { + val k: Int = b.() + b.( = 1) + val k2: Unit = b.bar(o = 1) + val k3: Unit = b.bar(o = "") + val k4: Unit = b.bar(o = null) + val k5: Int = b.foo() + val k6: Int = c.() + c.( = 1) + val k7: Unit = c.bar(o = 1) + val k8: Unit = c.bar(o = "") + val k9: Unit = c.bar(o = null) + val k10: Int = c.foo() + val k11: Int = d.() + d.( = 1) + val k12: Unit = d.bar(o = 1) + val k13: Unit = d.bar(o = "") + val k14: Unit = d.bar(o = null) + val k15: Int = d.foo() + val k16: Int = e.() + e.( = 1) + val k17: Unit = e.bar(o = 1) + val k18: Unit = e.bar(o = "") + val k19: Int = e.foo() + val k20: Int = f.() + f.( = 1) + val k21: Unit = f.bar(o = 1) + val k22: Unit = f.bar(o = "") + val k23: Int = f.foo() + val k24: Int = g.() + g.( = 1) + val k25: Unit = g.bar(o = 1) + val k26: Unit = g.bar(o = "") + val k27: Int = f.foo() + val k28: Int = h.() + h.( = 1) + val k29: Unit = h.bar(o = 1) + val k30: Unit = h.bar(o = "") + val k31: Int = h.foo() + val k32: Unit = i.bar(o = 1) + val k33: Unit = i.bar(o = "") + val k34: Unit = i.bar(o = null) + val k35: Int = i.foo() + val k36: Unit = j.bar(o = 1) + val k37: Unit = j.bar(o = "") + val k38: Unit = j.bar(o = null) + val k39: Int = j.foo() + val k40: Unit = l.bar(o = 1) + val k41: Unit = l.bar(o = "") + val k42: Unit = l.bar(o = null) + val k43: Int = l.foo() + val k44: Unit = m.bar(o = 1) + val k45: Unit = m.bar(o = "") + val k46: Unit = m.bar(o = null) + val k47: Int = m.foo() + val k48: Unit = n.bar(o = 1) + val k49: Unit = n.bar(o = "") + val k50: Unit = n.bar(o = null) + val k51: Int = n.foo() + val k52: Unit = o.bar(o = 1) + val k53: Unit = o.bar(o = "") + val k54: Unit = o.bar(o = null) + val k55: Int = o.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..10dd71db8d0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,577 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: B#bar(kotlin.Any?){} + // Public signature: /B.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java2 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: C#bar(kotlin.Any?){} + // Public signature: /C.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#bar(kotlin.Any?){} + // Public signature: /D.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int + // Public signature: /D.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: E#bar(kotlin.Any){} + // Public signature: /E.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + override fun bar(o: Any): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2, Kotlin { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(kotlin.Int){} + // Public signature: /F.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: F#bar(kotlin.Any){} + // Public signature: /F.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract /* fake */ override fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Int + // Public signature: /F.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java2, Kotlin { + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: G#bar(kotlin.Int){} + // Public signature: /G.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Any){} + // Public signature: /G.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract /* fake */ override fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Int + // Public signature: /G.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java2, Kotlin { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: H#bar(kotlin.Any){} + // Public signature: /H.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + override fun bar(o: Any): Unit + + // CHECK: + // Mangled name: H#bar(kotlin.Int){} + // Public signature: /H.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: H#foo(){}kotlin.Int + // Public signature: /H.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java3, Kotlin2 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#bar(kotlin.Any?){} + // Public signature: /I.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: I#bar(kotlin.Int){} + // Public signature: /I.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: I#foo(){}kotlin.Int + // Public signature: /I.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java3, Kotlin2 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#bar(kotlin.Any?){} + // Public signature: /J.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: J#bar(kotlin.Int){} + // Public signature: /J.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: J#foo(){}kotlin.Int + // Public signature: /J.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +abstract class L : Java3, Kotlin2 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#bar(kotlin.Int){} + // Public signature: /L.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: L#foo(){}kotlin.Int + // Public signature: /L.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: L#bar(kotlin.Any?){} + // Public signature: /L.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +abstract class M : Java3, Java4 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#bar(kotlin.Any?){} + // Public signature: /M.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: M#bar(kotlin.Int){} + // Public signature: /M.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: M#foo(){}kotlin.Int + // Public signature: /M.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : Java3, Java4 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#bar(kotlin.Any?){} + // Public signature: /N.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: N#bar(kotlin.Int){} + // Public signature: /N.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: N#foo(){}kotlin.Int + // Public signature: /N.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +abstract class O : Java3, Java4 { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: O#bar(kotlin.Any?){} + // Public signature: /O.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: O#bar(kotlin.Int){} + // Public signature: /O.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: O#foo(){}kotlin.Int + // Public signature: /O.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A { + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract fun foo(): Int + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: Kotlin +// Public signature: /Kotlin|null[0] +interface Kotlin { + // CHECK: + // Mangled name: Kotlin#bar(kotlin.Any){} + // Public signature: /Kotlin.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: Kotlin#foo(){}kotlin.Any + // Public signature: /Kotlin.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract fun foo(): Any + +} + +// CHECK: +// Mangled name: Kotlin2 +// Public signature: /Kotlin2|null[0] +interface Kotlin2 : Java1 { + // CHECK: + // Mangled name: Kotlin2#bar(kotlin.Any?){} + // Public signature: /Kotlin2.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: Kotlin2#foo(){}kotlin.Any? + // Public signature: /Kotlin2.foo|7186954136321860865[0] + // Public signature debug description: foo(){}kotlin.Any? + abstract /* fake */ override fun foo(): Any? + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H;I;J;L;M;N;O){} +// Public signature: /test|-1165497804445835620[0] +// Public signature debug description: test(B;C;D;E;F;G;H;I;J;L;M;N;O){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, l: L, m: M, n: N, o: O): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.ir.txt new file mode 100644 index 00000000000..25430fead9d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.ir.txt @@ -0,0 +1,503 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .SeparateModuleJava1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + 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 .SeparateModuleJava1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .SeparateModuleJava1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + public abstract fun (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k10 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k11 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k12 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k13 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k16 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k22 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k27 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Any declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k30 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k31 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k32 type:kotlin.Int [val] + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k33 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k34 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Double type=kotlin.Double value=1.2 + VAR name:k35 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k36 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k37 type:kotlin.Number [val] + TYPE_OP type=kotlin.Number origin=IMPLICIT_NOTNULL typeOperand=kotlin.Number + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Number? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Number? origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.kt.txt new file mode 100644 index 00000000000..fb46a62e071 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.kt.txt @@ -0,0 +1,89 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +interface A : Java1, Java2 { +} + +interface B : SeparateModuleJava1, SeparateModuleJava2 { +} + +interface C : Java1, SeparateModuleJava2 { +} + +interface D : Java1, KotlinInterface { +} + +interface E : Java1, KotlinInterface, SeparateModuleJava1 { +} + +interface F : Java1, KotlinInterface, KotlinInterface2 { +} + +interface G : Java1, Java2, Java3 { +} + +interface KotlinInterface { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: Any) + + abstract fun foo(): Any + + abstract var a: Int + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k1: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Unit = a.bar(o = "") + val k4: Unit = a.bar(o = null) + val k5: Int = b.foo() + val k6: Unit = b.bar(o = 1) + val k7: Unit = b.bar(o = "") + val k8: Unit = b.bar(o = null) + val k9: Any = #a /*!! Any */ + val k10: Int = #a + val k11: Any = #a /*!! Any */ + val k12: Int = #a + val k13: Int = c.foo() + val k14: Unit = c.bar(o = 1) + val k15: Unit = c.bar(o = "") + val k16: Unit = c.bar(o = null) + val k17: Int = d.foo() + val k18: Unit = d.bar(o = 1) + val k19: Unit = d.bar(o = "") + val k20: Unit = d.bar(o = null) + val k21: Int = d.() + d.( = 4) + val k22: Int = e.foo() + val k23: Unit = e.bar(o = 1) + val k24: Unit = e.bar(o = "") + val k25: Unit = e.bar(o = null) + val k26: Int = e.() + e.( = 4) + val k27: Int = f.foo() + val k28: Unit = f.bar(o = 1) + val k29: Unit = f.bar(o = "") + val k30: Unit = f.bar(o = null) + val k31: Int = f.() + f.( = 4) + val k32: Int = g.foo() + val k33: Unit = g.bar(o = 1) + val k34: Unit = g.bar(o = 1.2) + val k35: Unit = g.bar(o = "") + val k36: Unit = g.bar(o = null) + val k37: Number = #a /*!! Number */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..451c7783434 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.fir.sig.kt.txt @@ -0,0 +1,299 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : Java1, Java2 { + // CHECK: + // Mangled name: A#bar(kotlin.Any?){} + // Public signature: /A.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +interface B : SeparateModuleJava1, SeparateModuleJava2 { + // CHECK: + // Mangled name: B#bar(kotlin.Any?){} + // Public signature: /B.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +interface C : Java1, SeparateModuleJava2 { + // CHECK: + // Mangled name: C#bar(kotlin.Any?){} + // Public signature: /C.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +interface D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#bar(kotlin.Any?){} + // Public signature: /D.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int + // Public signature: /D.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +interface E : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: E#bar(kotlin.Any?){} + // Public signature: /E.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +interface F : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: F#bar(kotlin.Any?){} + // Public signature: /F.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: F#bar(kotlin.Int){} + // Public signature: /F.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Any + // Public signature: /F.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract /* fake */ override fun foo(): Any + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +interface G : Java1, Java2, Java3 { + // CHECK: + // Mangled name: G#bar(kotlin.Any?){} + // Public signature: /G.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Int){} + // Public signature: /G.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Number?){} + // Public signature: /G.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + abstract /* fake */ override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Number? + // Public signature: /G.foo|-2818045260128305816[0] + // Public signature debug description: foo(){}kotlin.Number? + abstract /* fake */ override fun foo(): Number? + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(kotlin.Int){} + // Public signature: /KotlinInterface.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}kotlin.Int + // Public signature: /KotlinInterface.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract fun foo(): Int + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(kotlin.Any){} + // Public signature: /KotlinInterface2.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}kotlin.Any + // Public signature: /KotlinInterface2.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract fun foo(): Any + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.Int){} + // Public signature: /KotlinInterface2.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G){} +// Public signature: /test|-3020703466980043959[0] +// Public signature debug description: test(A;B;C;D;E;F;G){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.ir.txt new file mode 100644 index 00000000000..451a7f27007 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.ir.txt @@ -0,0 +1,503 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .SeparateModuleJava1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + 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 .SeparateModuleJava1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .SeparateModuleJava1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.SeparateModuleJava2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.SeparateModuleJava2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:E modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): kotlin.Any declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + public abstract fun (): kotlin.Int declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:G modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k10 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k11 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k12 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k13 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k16 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k22 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k27 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k30 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k31 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k32 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k33 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k34 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Double type=kotlin.Double value=1.2 + VAR name:k35 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k36 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k37 type:kotlin.Number [val] + TYPE_OP type=kotlin.Number origin=IMPLICIT_NOTNULL typeOperand=kotlin.Number + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Number? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Number? origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt new file mode 100644 index 00000000000..84efd6ad78c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt @@ -0,0 +1,114 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66120 + +// MODULE: separate +// FILE: SeparateModuleJava1.java +public interface SeparateModuleJava1 { + public Object a = 0; + public Object foo(); + public void bar(Object o); +} + +// FILE: SeparateModuleJava2.java +public interface SeparateModuleJava2 { + public int a = 1; + public int foo(); + public void bar(int o); +} + +// MODULE: main +// FILE: Java1.java + +public interface Java1 { + public Object a = 0; + public Object foo(); + public void bar(Object o); +} + +// FILE: Java2.java + +public interface Java2 { + public int a = 1; + public int foo(); + public void bar(int o); +} + +// FILE: Java3.java + +public interface Java3 { + public Number a = 1; + public Number foo(); + public void bar(Number o); +} + +// FILE: 1.kt + +interface A : Java1, Java2 //Kotlin ← Java1, Java2 + +interface B : SeparateModuleJava1, SeparateModuleJava2 //Kotlin ← Java1, Java2 (separate module) + +interface C: Java1, SeparateModuleJava2 //Kotlin ← Java1, Java2 (separate module) + +interface D: Java1, KotlinInterface //Kotlin ← Java, Kotlin2 + +interface E: Java1, KotlinInterface, SeparateModuleJava1 //Kotlin ← Java1, Java2, Kotlin2 + +interface F: Java1, KotlinInterface, KotlinInterface2 //Kotlin ← Java, Kotlin1, Kotlin2 + +interface G: Java1, Java2, Java3 //Kotlin ← Java1, Java2, Java3 + +interface KotlinInterface { + var a: Int + fun foo(): Int + fun bar(o: Int) +} + +interface KotlinInterface2 { + var a: Int + fun foo(): Any + fun bar(o: Any) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k1: Int = a.foo() + val k2: Unit = a.bar(1) + val k3: Unit = a.bar("") + val k4: Unit = a.bar(null) + val k5: Int = b.foo() + val k6: Unit = b.bar(1) + val k7: Unit = b.bar("") + val k8: Unit = b.bar(null) + val k9: Any = Java1.a + val k10: Int = Java2.a + val k11: Any = SeparateModuleJava1.a + val k12: Int = SeparateModuleJava2.a + val k13: Int = c.foo() + val k14: Unit = c.bar(1) + val k15: Unit = c.bar("") + val k16: Unit = c.bar(null) + val k17: Int = d.foo() + val k18: Unit = d.bar(1) + val k19: Unit = d.bar("") + val k20: Unit = d.bar(null) + val k21: Int = d.a + d.a = 4 + val k22: Int = e.foo() + val k23: Unit = e.bar(1) + val k24: Unit = e.bar("") + val k25: Unit = e.bar(null) + val k26: Int = e.a + e.a = 4 + val k27: Int = f.foo() + val k28: Unit = f.bar(1) + val k29: Unit = f.bar("") + val k30: Unit = f.bar(null) + val k31: Int = f.a + f.a = 4 + val k32: Int = g.foo() + val k33: Unit = g.bar(1) + val k34: Unit = g.bar(1.2) + val k35: Unit = g.bar("") + val k36: Unit = g.bar(null) + val k37: Number = Java3.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt.txt new file mode 100644 index 00000000000..1b7c4ba7ba0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt.txt @@ -0,0 +1,89 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +interface A : Java1, Java2 { +} + +interface B : SeparateModuleJava1, SeparateModuleJava2 { +} + +interface C : Java1, SeparateModuleJava2 { +} + +interface D : Java1, KotlinInterface { +} + +interface E : Java1, KotlinInterface, SeparateModuleJava1 { +} + +interface F : Java1, KotlinInterface, KotlinInterface2 { +} + +interface G : Java1, Java2, Java3 { +} + +interface KotlinInterface { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: Any) + + abstract fun foo(): Any + + abstract var a: Int + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + val k1: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Unit = a.bar(o = "") + val k4: Unit = a.bar(o = null) + val k5: Int = b.foo() + val k6: Unit = b.bar(o = 1) + val k7: Unit = b.bar(o = "") + val k8: Unit = b.bar(o = null) + val k9: Any = super.#a /*!! Any */ + val k10: Int = super.#a + val k11: Any = super.#a /*!! Any */ + val k12: Int = super.#a + val k13: Int = c.foo() + val k14: Unit = c.bar(o = 1) + val k15: Unit = c.bar(o = "") + val k16: Unit = c.bar(o = null) + val k17: Int = d.foo() + val k18: Unit = d.bar(o = 1) + val k19: Unit = d.bar(o = "") + val k20: Unit = d.bar(o = null) + val k21: Int = d.() + d.( = 4) + val k22: Int = e.foo() + val k23: Unit = e.bar(o = 1) + val k24: Unit = e.bar(o = "") + val k25: Unit = e.bar(o = null) + val k26: Int = e.() + e.( = 4) + val k27: Int = f.foo() + val k28: Unit = f.bar(o = 1) + val k29: Unit = f.bar(o = "") + val k30: Unit = f.bar(o = null) + val k31: Int = f.() + f.( = 4) + val k32: Int = g.foo() + val k33: Unit = g.bar(o = 1) + val k34: Unit = g.bar(o = 1.2) + val k35: Unit = g.bar(o = "") + val k36: Unit = g.bar(o = null) + val k37: Number = super.#a /*!! Number */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.sig.kt.txt new file mode 100644 index 00000000000..b1c4ee1ac39 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.sig.kt.txt @@ -0,0 +1,299 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : Java1, Java2 { + // CHECK: + // Mangled name: A#bar(kotlin.Any?){} + // Public signature: /A.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +interface B : SeparateModuleJava1, SeparateModuleJava2 { + // CHECK: + // Mangled name: B#bar(kotlin.Any?){} + // Public signature: /B.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +interface C : Java1, SeparateModuleJava2 { + // CHECK: + // Mangled name: C#bar(kotlin.Any?){} + // Public signature: /C.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +interface D : Java1, KotlinInterface { + // CHECK: + // Mangled name: D#bar(kotlin.Any?){} + // Public signature: /D.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int + // Public signature: /D.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: D#(kotlin.Int){} + // Public signature: /D.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +interface E : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: E#bar(kotlin.Any?){} + // Public signature: /E.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +interface F : Java1, KotlinInterface, KotlinInterface2 { + // CHECK: + // Mangled name: F#bar(kotlin.Any?){} + // Public signature: /F.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: F#bar(kotlin.Int){} + // Public signature: /F.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Int + // Public signature: /F.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +interface G : Java1, Java2, Java3 { + // CHECK: + // Mangled name: G#bar(kotlin.Any?){} + // Public signature: /G.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Int){} + // Public signature: /G.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Number?){} + // Public signature: /G.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + abstract /* fake */ override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Int + // Public signature: /G.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(kotlin.Int){} + // Public signature: /KotlinInterface.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}kotlin.Int + // Public signature: /KotlinInterface.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract fun foo(): Int + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(kotlin.Any){} + // Public signature: /KotlinInterface2.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}kotlin.Any + // Public signature: /KotlinInterface2.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract fun foo(): Any + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Int + // Public signature: /KotlinInterface2.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.Int){} + // Public signature: /KotlinInterface2.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G){} +// Public signature: /test|-3020703466980043959[0] +// Public signature debug description: test(A;B;C;D;E;F;G){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.ir.txt new file mode 100644 index 00000000000..cd48ea8ad6c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.ir.txt @@ -0,0 +1,436 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:java.util.ArrayList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.IntArray + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.IntArray declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Array + overridden: + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.Array declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array? + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:java.util.ArrayList + overridden: + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): java.util.ArrayList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.IntArray + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.IntArray declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Array + overridden: + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.Array declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, o:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + public abstract fun foo (o: java.util.ArrayList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.D, a:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array? + BLOCK_BODY + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:java.util.ArrayList [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): java.util.ArrayList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + public abstract fun foo (o: java.util.ArrayList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:java.util.ArrayList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.MutableList [val] + TYPE_OP type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.ArrayList [val] + TYPE_OP type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .A' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Array [val] + TYPE_OP type=@[FlexibleArrayElementVariance] kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleArrayElementVariance] kotlin.Array + CALL 'public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .A' type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:java.util.ArrayList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.IntArray [val] + CALL 'public open fun bar2 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Array [val] + CALL 'public open fun bar3 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.MutableList [val] + CALL 'public abstract fun bar (): java.util.ArrayList declared in .C' type=java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:java.util.ArrayList [val] + CALL 'public abstract fun bar (): java.util.ArrayList declared in .C' type=java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k11 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .C' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.Array [val] + TYPE_OP type=@[FlexibleArrayElementVariance] kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleArrayElementVariance] kotlin.Array + CALL 'public abstract fun bar3 (): @[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? declared in .C' type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (o: java.util.ArrayList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .D' type=java.util.ArrayList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k14 type:java.util.ArrayList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .D' type=java.util.ArrayList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k15 type:kotlin.IntArray [val] + CALL 'public open fun bar2 (): kotlin.IntArray declared in .D' type=kotlin.IntArray origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k16 type:kotlin.Array [val] + CALL 'public open fun bar3 (): kotlin.Array declared in .D' type=kotlin.Array origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.kt.txt new file mode 100644 index 00000000000..a70dd23869e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.fir.kt.txt @@ -0,0 +1,114 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): ArrayList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): IntArray { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): Array { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: IntArray?) { + } + + override fun foo3(a: Array?) { + } + +} + +abstract class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): ArrayList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): IntArray { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): Array { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(o: ArrayList) { + } + + override fun foo2(a: IntArray?) { + } + + override fun foo3(a: Array?) { + } + +} + +interface A : Java1, Java2 { +} + +interface C : Java2, KotlinInterface { +} + +interface KotlinInterface { + abstract fun bar(): ArrayList + + abstract fun foo(o: ArrayList) + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = listOf(elements = [1, null])) + a.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + a.foo2(a = null) + a.foo2(a = intArrayOf()) + a.foo3(a = null) + a.foo3(a = arrayOf<@FlexibleNullability String?>(elements = [null])) + val k: MutableList = a.bar() /*!! ArrayList<@FlexibleNullability Int?> */ + val k2: ArrayList = a.bar() /*!! ArrayList<@FlexibleNullability Int?> */ + val k3: IntArray = a.bar2() /*!! IntArray */ + val k4: Array = a.bar3() /*!! @FlexibleArrayElementVariance Array */ + b.foo(a = mutableListOf(elements = [1])) + b.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + b.foo2(a = null) + b.foo2(a = intArrayOf()) + b.foo3(a = null) + b.foo3(a = arrayOf(elements = [""])) + val k5: MutableList = b.bar() + val k6: ArrayList = b.bar() + val k7: IntArray = b.bar2() + val k8: Array = b.bar3() + c.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + c.foo(a = null) + c.foo2(a = intArrayOf(elements = [1])) + c.foo2(a = null) + c.foo3(a = arrayOf<@FlexibleNullability String?>(elements = [null])) + c.foo3(a = null) + val k9: MutableList = c.bar() + val k10: ArrayList = c.bar() + val k11: IntArray = c.bar2() /*!! IntArray */ + val k12: Array = c.bar3() /*!! @FlexibleArrayElementVariance Array */ + d.foo(o = arrayListOf(elements = [1])) + d.foo2(a = intArrayOf(elements = [1])) + d.foo2(a = null) + d.foo3(a = arrayOf(elements = [""])) + d.foo3(a = null) + val k13: MutableList = d.bar() + val k14: ArrayList = d.bar() + val k15: IntArray = d.bar2() + val k16: Array = d.bar3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.ir.txt new file mode 100644 index 00000000000..c66e4ef11e1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.ir.txt @@ -0,0 +1,438 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B) returnType:java.util.ArrayList + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.IntArray + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.IntArray declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Array + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.Array declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.B, a:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array? + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:java.util.ArrayList + overridden: + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): java.util.ArrayList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): java.util.ArrayList declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.IntArray + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.IntArray declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:bar3 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Array + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.Array declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, o:java.util.ArrayList) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + public abstract fun foo (o: java.util.ArrayList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:java.util.ArrayList + BLOCK_BODY + FUN name:foo2 visibility:public modality:OPEN <> ($this:.D, a:kotlin.IntArray?) returnType:kotlin.Unit + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.IntArray? + BLOCK_BODY + FUN name:foo3 visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array?) returnType:kotlin.Unit + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array? + BLOCK_BODY + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .Java1 + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java1 + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java1 + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java1 + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java1 + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:java.util.ArrayList [fake_override] + overridden: + public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .Java2 + public abstract fun bar (): java.util.ArrayList declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.IntArray? [fake_override] + overridden: + public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:@[FlexibleNullability] kotlin.Array? [fake_override] + overridden: + public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .Java2 + public abstract fun foo (o: java.util.ArrayList): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] kotlin.IntArray?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.IntArray? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:java.util.ArrayList + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:java.util.ArrayList) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:java.util.ArrayList + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public abstract fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun listOf (vararg elements: T of kotlin.collections.listOf): kotlin.collections.List declared in kotlin.collections' type=kotlin.collections.List origin=null + : kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + VAR name:k type:kotlin.collections.MutableList [val] + TYPE_OP type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.ArrayList [val] + TYPE_OP type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> + CALL 'public abstract fun bar (): @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .A' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k4 type:kotlin.Array [val] + TYPE_OP type=kotlin.Array origin=IMPLICIT_CAST typeOperand=kotlin.Array + TYPE_OP type=kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array + CALL 'public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .A' type=@[FlexibleNullability] kotlin.Array? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (a: kotlin.collections.MutableList): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun mutableListOf (vararg elements: T of kotlin.collections.mutableListOf): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + VAR name:k5 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:java.util.ArrayList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .B' type=java.util.ArrayList origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.IntArray [val] + CALL 'public open fun bar2 (): kotlin.IntArray declared in .B' type=kotlin.IntArray origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k8 type:kotlin.Array [val] + CALL 'public open fun bar3 (): kotlin.Array declared in .B' type=kotlin.Array origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList<@[FlexibleNullability] kotlin.Int?> origin=null + : @[FlexibleNullability] kotlin.Int? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (a: @[FlexibleNullability] java.util.ArrayList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun foo2 (a: @[FlexibleNullability] kotlin.IntArray?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array<@[FlexibleNullability] kotlin.String?> origin=null + : @[FlexibleNullability] kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo3 (a: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.collections.MutableList [val] + CALL 'public abstract fun bar (): java.util.ArrayList declared in .C' type=java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:java.util.ArrayList [val] + CALL 'public abstract fun bar (): java.util.ArrayList declared in .C' type=java.util.ArrayList origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k11 type:kotlin.IntArray [val] + TYPE_OP type=kotlin.IntArray origin=IMPLICIT_NOTNULL typeOperand=kotlin.IntArray + CALL 'public abstract fun bar2 (): @[FlexibleNullability] kotlin.IntArray? declared in .C' type=@[FlexibleNullability] kotlin.IntArray? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.Array [val] + TYPE_OP type=kotlin.Array origin=IMPLICIT_CAST typeOperand=kotlin.Array + TYPE_OP type=kotlin.Array origin=IMPLICIT_NOTNULL typeOperand=kotlin.Array + CALL 'public abstract fun bar3 (): @[FlexibleNullability] kotlin.Array? declared in .C' type=@[FlexibleNullability] kotlin.Array? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (o: java.util.ArrayList): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CALL 'public final fun arrayListOf (vararg elements: T of kotlin.collections.arrayListOf): java.util.ArrayList declared in kotlin.collections' type=java.util.ArrayList origin=null + : kotlin.Int + elements: VARARG type=kotlin.Array varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null + elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int + CONST Int type=kotlin.Int value=1 + CALL 'public open fun foo2 (a: kotlin.IntArray?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CALL 'public final fun arrayOf (vararg elements: T of kotlin.arrayOf): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.String + elements: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="" + CALL 'public open fun foo3 (a: kotlin.Array?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .D' type=java.util.ArrayList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k14 type:java.util.ArrayList [val] + CALL 'public open fun bar (): java.util.ArrayList declared in .D' type=java.util.ArrayList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k15 type:kotlin.IntArray [val] + CALL 'public open fun bar2 (): kotlin.IntArray declared in .D' type=kotlin.IntArray origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k16 type:kotlin.Array [val] + CALL 'public open fun bar3 (): kotlin.Array declared in .D' type=kotlin.Array origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt new file mode 100644 index 00000000000..6eb0683b867 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt @@ -0,0 +1,129 @@ +// TARGET_BACKEND: JVM +// WITH_STDLIB + +// FILE: Java1.java +import java.util.*; + +public interface Java1 { + public List a = new ArrayList(); + public void foo(List a); + public List bar(); + + public int[] d = new int[1]; + public void foo2(int[] a); + public int[] bar2(); + + public String[] e = new String[1]; + public void foo3(String[] a); + public String[] bar3(); +} + +// FILE: Java2.java +import java.util.*; + +public interface Java2 { + public List a = new ArrayList(); + public void foo(ArrayList a); + public ArrayList bar(); + + public int[] d = new int[1]; + public void foo2(int[] a); + public int[] bar2(); + + public String[] e = new String[1]; + public void foo3(String[] a); + public String[] bar3(); +} + +// FILE: 1.kt +import kotlin.collections.ArrayList + + +interface A : Java1, Java2 //Kotlin ← Java1, Java2 + +abstract class B: Java1, Java2 { //Kotlin ← Java1, Java2 with explicit override + override fun foo(a: MutableList) { } + override fun bar(): ArrayList { + return null!! + } + + override fun foo2(a: IntArray?) { } + override fun bar2(): IntArray { + return null!! + } + + override fun foo3(a: Array?) { } + override fun bar3(): Array { + return null!! + } +} + +interface C : Java2, KotlinInterface //Kotlin ← Java, Kotlin2 + +abstract class D : Java2, KotlinInterface { //Kotlin ← Java, Kotlin2 with explicit override + override fun foo(o: ArrayList) { } + override fun bar(): ArrayList { + return null!! + } + + override fun foo2(a: IntArray?) { } + override fun bar2(): IntArray { + return null!! + } + + override fun foo3(a: Array?) { } + override fun bar3(): Array { + return null!! + } +} + +interface KotlinInterface { + fun foo(o: ArrayList) + fun bar(): ArrayList +} + + +fun test(a: A, b: B, c: C, d: D){ + a.foo(listOf(1,null)) + a.foo(arrayListOf(1, null)) + a.foo2(null) + a.foo2(intArrayOf()) + a.foo3(null) + a.foo3(arrayOf(null)) + val k: MutableList = a.bar() + val k2: ArrayList = a.bar() + val k3: IntArray = a.bar2() + val k4: Array = a.bar3() + + b.foo(mutableListOf(1)) + b.foo(arrayListOf(1, null)) + b.foo2(null) + b.foo2(intArrayOf()) + b.foo3(null) + b.foo3(arrayOf("")) + val k5: MutableList = b.bar() + val k6: ArrayList = b.bar() + val k7: IntArray = b.bar2() + val k8: Array = b.bar3() + + c.foo(arrayListOf(1, null)) + c.foo(null) + c.foo2(intArrayOf(1)) + c.foo2(null) + c.foo3(arrayOf(null)) + c.foo3(null) + val k9: MutableList = c.bar() + val k10: ArrayList = c.bar() + val k11: IntArray = c.bar2() + val k12: Array = c.bar3() + + d.foo(arrayListOf(1)) + d.foo2(intArrayOf(1)) + d.foo2(null) + d.foo3(arrayOf("")) + d.foo3(null) + val k13: MutableList = d.bar() + val k14: ArrayList = d.bar() + val k15: IntArray = d.bar2() + val k16: Array = d.bar3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt.txt new file mode 100644 index 00000000000..b400d62e9a7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt.txt @@ -0,0 +1,114 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): ArrayList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): IntArray { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): Array { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + + override fun foo2(a: IntArray?) { + } + + override fun foo3(a: Array?) { + } + +} + +abstract class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(): ArrayList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar2(): IntArray { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun bar3(): Array { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(o: ArrayList) { + } + + override fun foo2(a: IntArray?) { + } + + override fun foo3(a: Array?) { + } + +} + +interface A : Java1, Java2 { +} + +interface C : Java2, KotlinInterface { +} + +interface KotlinInterface { + abstract fun bar(): ArrayList + + abstract fun foo(o: ArrayList) + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = listOf(elements = [1, null])) + a.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + a.foo2(a = null) + a.foo2(a = intArrayOf()) + a.foo3(a = null) + a.foo3(a = arrayOf<@FlexibleNullability String?>(elements = [null])) + val k: MutableList = a.bar() /*!! ArrayList<@FlexibleNullability Int?> */ + val k2: ArrayList = a.bar() /*!! ArrayList<@FlexibleNullability Int?> */ + val k3: IntArray = a.bar2() /*!! IntArray */ + val k4: Array = a.bar3() /*!! Array */ /*as Array */ + b.foo(a = mutableListOf(elements = [1])) + b.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + b.foo2(a = null) + b.foo2(a = intArrayOf()) + b.foo3(a = null) + b.foo3(a = arrayOf(elements = [""])) + val k5: MutableList = b.bar() + val k6: ArrayList = b.bar() + val k7: IntArray = b.bar2() + val k8: Array = b.bar3() + c.foo(a = arrayListOf<@FlexibleNullability Int?>(elements = [1, null])) + c.foo(a = null) + c.foo2(a = intArrayOf(elements = [1])) + c.foo2(a = null) + c.foo3(a = arrayOf<@FlexibleNullability String?>(elements = [null])) + c.foo3(a = null) + val k9: MutableList = c.bar() + val k10: ArrayList = c.bar() + val k11: IntArray = c.bar2() /*!! IntArray */ + val k12: Array = c.bar3() /*!! Array */ /*as Array */ + d.foo(o = arrayListOf(elements = [1])) + d.foo2(a = intArrayOf(elements = [1])) + d.foo2(a = null) + d.foo3(a = arrayOf(elements = [""])) + d.foo3(a = null) + val k13: MutableList = d.bar() + val k14: ArrayList = d.bar() + val k15: IntArray = d.bar2() + val k16: Array = d.bar3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.sig.kt.txt new file mode 100644 index 00000000000..737b31b3450 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.sig.kt.txt @@ -0,0 +1,215 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(java.util.ArrayList?){} + // Public signature: /B.foo|7592105095753077284[0] + // Public signature debug description: foo(java.util.ArrayList?){} + abstract /* fake */ override fun foo(a: ArrayList?): Unit + + // CHECK JVM_IR: + // Mangled name: B#bar(){}java.util.ArrayList + // Public signature: /B.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.IntArray + // Public signature: /B.bar2|-8055315912654410759[0] + // Public signature debug description: bar2(){}kotlin.IntArray + override fun bar2(): IntArray + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.Array + // Public signature: /B.bar3|-7432065339324572011[0] + // Public signature debug description: bar3(){}kotlin.Array + override fun bar3(): Array + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList){} + // Public signature: /B.foo|-316185058744300957[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.IntArray?){} + // Public signature: /B.foo2|-6609251298444867546[0] + // Public signature debug description: foo2(kotlin.IntArray?){} + override fun foo2(a: IntArray?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.Array?){} + // Public signature: /B.foo3|-4739896332992694741[0] + // Public signature debug description: foo3(kotlin.Array?){} + override fun foo3(a: Array?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}java.util.ArrayList + // Public signature: /D.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}kotlin.IntArray + // Public signature: /D.bar2|-8055315912654410759[0] + // Public signature debug description: bar2(){}kotlin.IntArray + override fun bar2(): IntArray + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.Array + // Public signature: /D.bar3|-7432065339324572011[0] + // Public signature debug description: bar3(){}kotlin.Array + override fun bar3(): Array + + // CHECK: + // Mangled name: D#foo(java.util.ArrayList){} + // Public signature: /D.foo|-787171505211988164[0] + // Public signature debug description: foo(java.util.ArrayList){} + override fun foo(o: ArrayList): Unit + + // CHECK: + // Mangled name: D#foo2(kotlin.IntArray?){} + // Public signature: /D.foo2|-6609251298444867546[0] + // Public signature debug description: foo2(kotlin.IntArray?){} + override fun foo2(a: IntArray?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.Array?){} + // Public signature: /D.foo3|-4739896332992694741[0] + // Public signature debug description: foo3(kotlin.Array?){} + override fun foo3(a: Array?): Unit + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : Java1, Java2 { + // CHECK JVM_IR: + // Mangled name: A#bar(){}java.util.ArrayList? + // Public signature: /A.bar|6344786471503787921[0] + // Public signature debug description: bar(){}java.util.ArrayList? + abstract /* fake */ override fun bar(): ArrayList? + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.IntArray? + // Public signature: /A.bar2|7869366897572982626[0] + // Public signature debug description: bar2(){}kotlin.IntArray? + abstract /* fake */ override fun bar2(): IntArray? + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.Array? + // Public signature: /A.bar3|-7409723980073717000[0] + // Public signature debug description: bar3(){}kotlin.Array? + abstract /* fake */ override fun bar3(): Array? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + abstract /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo(java.util.ArrayList?){} + // Public signature: /A.foo|7592105095753077284[0] + // Public signature debug description: foo(java.util.ArrayList?){} + abstract /* fake */ override fun foo(a: ArrayList?): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.IntArray?){} + // Public signature: /A.foo2|-6609251298444867546[0] + // Public signature debug description: foo2(kotlin.IntArray?){} + abstract /* fake */ override fun foo2(a: IntArray?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.Array?){} + // Public signature: /A.foo3|-5098562074278287466[0] + // Public signature debug description: foo3(kotlin.Array?){} + abstract /* fake */ override fun foo3(a: Array?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +interface C : Java2, KotlinInterface { + // CHECK JVM_IR: + // Mangled name: C#bar(){}java.util.ArrayList + // Public signature: /C.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + abstract /* fake */ override fun bar(): ArrayList + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.IntArray? + // Public signature: /C.bar2|7869366897572982626[0] + // Public signature debug description: bar2(){}kotlin.IntArray? + abstract /* fake */ override fun bar2(): IntArray? + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.Array? + // Public signature: /C.bar3|-7409723980073717000[0] + // Public signature debug description: bar3(){}kotlin.Array? + abstract /* fake */ override fun bar3(): Array? + + // CHECK: + // Mangled name: C#foo(java.util.ArrayList?){} + // Public signature: /C.foo|7592105095753077284[0] + // Public signature debug description: foo(java.util.ArrayList?){} + abstract /* fake */ override fun foo(a: ArrayList?): Unit + + // CHECK: + // Mangled name: C#foo2(kotlin.IntArray?){} + // Public signature: /C.foo2|-6609251298444867546[0] + // Public signature debug description: foo2(kotlin.IntArray?){} + abstract /* fake */ override fun foo2(a: IntArray?): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.Array?){} + // Public signature: /C.foo3|-5098562074278287466[0] + // Public signature debug description: foo3(kotlin.Array?){} + abstract /* fake */ override fun foo3(a: Array?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}java.util.ArrayList + // Public signature: /KotlinInterface.bar|3123552224271008170[0] + // Public signature debug description: bar(){}java.util.ArrayList + abstract fun bar(): ArrayList + + // CHECK: + // Mangled name: KotlinInterface#foo(java.util.ArrayList){} + // Public signature: /KotlinInterface.foo|-787171505211988164[0] + // Public signature debug description: foo(java.util.ArrayList){} + abstract fun foo(o: ArrayList): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.ir.txt new file mode 100644 index 00000000000..f6830edfb82 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.ir.txt @@ -0,0 +1,753 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2]' + 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 .SeparateModuleJava1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .SeparateModuleJava1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .SeparateModuleJava2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .E.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + value: GET_VAR ': kotlin.Int declared in .E.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.E [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.G, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=1 + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CALL 'public final fun TODO (reason: kotlin.String): kotlin.Nothing declared in kotlin' type=kotlin.Nothing origin=null + reason: CONST String type=kotlin.String value="" + FUN name: visibility:public modality:OPEN <> ($this:.G, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3) returnType:@[FlexibleNullability] kotlin.Number? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Number?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Number? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k10 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k11 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k12 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k13 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k16 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k22 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k27 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k31 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k32 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k33 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k34 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Double type=kotlin.Double value=1.2 + VAR name:k35 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k36 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k37 type:kotlin.Number [val] + TYPE_OP type=kotlin.Number origin=IMPLICIT_NOTNULL typeOperand=kotlin.Number + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Number? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Number? origin=null + VAR name:k38 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k39 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k40 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k41 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k42 type:kotlin.Int [val] + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k43 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k44 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k45 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k46 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k47 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k48 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.kt.txt new file mode 100644 index 00000000000..70c4bbe829a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.kt.txt @@ -0,0 +1,258 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + +} + +class C : SeparateModuleJava1, SeparateModuleJava2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +class D : Java1, SeparateModuleJava2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +class E : Java1, KotlinInterface { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class F : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun foo(): Int { + return 1 + } + +} + +class G : Java1, KotlinInterface, SeparateModuleJava1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + + override var a: Int + override get(): Int { + return TODO(reason = "") + } + override set(value: Int) { + } + +} + +abstract class H : Java1, KotlinInterface, SeparateModuleJava1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + +} + +abstract class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + +} + +class J : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun bar(o: Number?) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface KotlinInterface { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: Any) + + abstract fun foo(): Any + + abstract var a: Any + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + val k1: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Unit = a.bar(o = "") + val k4: Unit = a.bar(o = null) + val k5: Int = b.foo() + val k6: Unit = b.bar(o = 1) + val k7: Unit = b.bar(o = "") + val k8: Unit = b.bar(o = null) + val k9: Any = #a /*!! Any */ + val k10: Int = #a + val k11: Any = #a /*!! Any */ + val k12: Int = #a + val k13: Int = c.foo() + val k14: Unit = c.bar(o = 1) + val k15: Unit = c.bar(o = "") + val k16: Unit = c.bar(o = null) + val k17: Int = d.foo() + val k18: Unit = d.bar(o = 1) + val k19: Unit = d.bar(o = "") + val k20: Unit = d.bar(o = null) + val k22: Int = e.foo() + val k23: Unit = e.bar(o = 1) + val k24: Unit = e.bar(o = "") + val k25: Unit = e.bar(o = null) + val k26: Int = e.() + e.( = 4) + val k27: Int = f.foo() + val k28: Unit = f.bar(o = 1) + val k29: Unit = f.bar(o = "") + val k31: Int = f.() + f.( = 4) + val k32: Int = g.foo() + val k33: Unit = g.bar(o = 1) + val k34: Unit = g.bar(o = 1.2) + val k35: Unit = g.bar(o = "") + val k36: Unit = g.bar(o = null) + val k37: Number = #a /*!! Number */ + val k38: Int = h.foo() + val k39: Unit = h.bar(o = 1) + val k40: Unit = h.bar(o = "") + val k41: Int = h.() + h.( = 4) + val k42: Int = i.foo() + val k43: Unit = i.bar(o = 1) + val k44: Unit = i.bar(o = "") + val k45: Unit = i.bar(o = null) + val k46: Int = j.foo() + val k47: Unit = j.bar(o = 1) + val k48: Unit = j.bar(o = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..7fdc4e0b5d5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.fir.sig.kt.txt @@ -0,0 +1,453 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#bar(kotlin.Any?){} + // Public signature: /A.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(kotlin.Any?){} + // Public signature: /B.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : SeparateModuleJava1, SeparateModuleJava2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#bar(kotlin.Any?){} + // Public signature: /C.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, SeparateModuleJava2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#bar(kotlin.Any?){} + // Public signature: /D.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int + // Public signature: /D.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, KotlinInterface { + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: E#bar(kotlin.Any?){} + // Public signature: /E.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(kotlin.Int){} + // Public signature: /F.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: F#bar(kotlin.Any?){} + // Public signature: /F.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Int + // Public signature: /F.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#bar(kotlin.Any?){} + // Public signature: /G.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Int){} + // Public signature: /G.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Int + // Public signature: /G.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#bar(kotlin.Int){} + // Public signature: /H.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: H#foo(){}kotlin.Int + // Public signature: /H.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: H#bar(kotlin.Any){} + // Public signature: /H.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + override fun bar(o: Any): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java1, Java2, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#bar(kotlin.Int){} + // Public signature: /I.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: I#bar(kotlin.Number?){} + // Public signature: /I.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + abstract /* fake */ override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: I#foo(){}kotlin.Number? + // Public signature: /I.foo|-2818045260128305816[0] + // Public signature debug description: foo(){}kotlin.Number? + abstract /* fake */ override fun foo(): Number? + + // CHECK: + // Mangled name: I#bar(kotlin.Any?){} + // Public signature: /I.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java1, Java2, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#bar(kotlin.Any?){} + // Public signature: /J.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: J#bar(kotlin.Int){} + // Public signature: /J.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: J#bar(kotlin.Number?){} + // Public signature: /J.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: J#foo(){}kotlin.Int + // Public signature: /J.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(kotlin.Int){} + // Public signature: /KotlinInterface.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}kotlin.Int + // Public signature: /KotlinInterface.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract fun foo(): Int + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(kotlin.Any){} + // Public signature: /KotlinInterface2.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}kotlin.Any + // Public signature: /KotlinInterface2.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract fun foo(): Any + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Any + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Any + // Public signature: /KotlinInterface2.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.Any){} + // Public signature: /KotlinInterface2.a.|-6749232401949477374[0] + // Public signature debug description: (kotlin.Any){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.ir.txt new file mode 100644 index 00000000000..95c6383ad74 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.ir.txt @@ -0,0 +1,753 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.A, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $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:[.Java1; .Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1, o:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.SeparateModuleJava1; .SeparateModuleJava2]' + 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 .SeparateModuleJava1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .SeparateModuleJava1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .SeparateModuleJava2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .SeparateModuleJava2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .SeparateModuleJava2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int declared in .E.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + value: GET_VAR ': kotlin.Int declared in .E.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int) returnType:.E [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=1 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.G, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=1 + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CALL 'public final fun TODO (reason: kotlin.String): kotlin.Nothing declared in kotlin' type=kotlin.Nothing origin=null + reason: CONST String type=kotlin.String value="" + FUN name: visibility:public modality:OPEN <> ($this:.G, value:kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name:value index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java1; .KotlinInterface; .SeparateModuleJava1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .KotlinInterface + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .SeparateModuleJava1 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Any) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .SeparateModuleJava1 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Any + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Int declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Int): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2; .Java3]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java2, o:kotlin.Int) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3, o:@[FlexibleNullability] kotlin.Number?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Number? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2) returnType:kotlin.Int [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.I + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java1; .Java2; .Java3]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Any?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Any? + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + FUN name:bar visibility:public modality:OPEN <> ($this:.J, o:kotlin.Number?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:o index:0 type:kotlin.Number? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java1 + public abstract fun foo (): kotlin.Int declared in .Java2 + public abstract fun foo (): @[FlexibleNullability] kotlin.Number? declared in .Java3 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Int + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + $this: VALUE_PARAMETER name: type:.KotlinInterface + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Int + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Any) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Any + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Any) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST String type=kotlin.String value="" + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k10 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k11 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Any? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Any? origin=null + VAR name:k12 type:kotlin.Int [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null + VAR name:k13 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k14 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k16 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k17 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k19 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k22 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k27 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k28 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k29 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k31 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k32 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .G' type=kotlin.Int origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k33 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k34 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Double type=kotlin.Double value=1.2 + VAR name:k35 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k36 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k37 type:kotlin.Number [val] + TYPE_OP type=kotlin.Number origin=IMPLICIT_NOTNULL typeOperand=kotlin.Number + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] kotlin.Number? visibility:public [final,static]' type=@[FlexibleNullability] kotlin.Number? origin=null + VAR name:k38 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k39 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k40 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k41 type:kotlin.Int [val] + CALL 'public abstract fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun (: kotlin.Int): kotlin.Unit declared in .H' type=kotlin.Unit origin=EQ + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + : CONST Int type=kotlin.Int value=4 + VAR name:k42 type:kotlin.Int [val] + CALL 'public abstract fun foo (): kotlin.Int declared in .I' type=kotlin.Int origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + VAR name:k43 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: kotlin.Int): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k44 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k45 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Number?): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k46 type:kotlin.Int [val] + CALL 'public open fun foo (): kotlin.Int declared in .J' type=kotlin.Int origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + VAR name:k47 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k48 type:kotlin.Unit [val] + CALL 'public open fun bar (o: kotlin.Any?): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + o: CONST String type=kotlin.String value="" diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt new file mode 100644 index 00000000000..be437801406 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt @@ -0,0 +1,194 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-66120 + +// MODULE: separate +// FILE: SeparateModuleJava1.java +public interface SeparateModuleJava1 { + public Object a = 0; + public Object foo(); + public void bar(Object o); +} + +// FILE: SeparateModuleJava2.java +public interface SeparateModuleJava2 { + public int a = 1; + public int foo(); + public void bar(int o); +} + +// MODULE: main +// FILE: Java1.java + +public interface Java1 { + public Object a = 0; + public Object foo(); + public void bar(Object o); +} + +// FILE: Java2.java + +public interface Java2 { + public int a = 1; + public int foo(); + public void bar(int o); +} + +// FILE: Java3.java + +public interface Java3 { + public Number a = 1; + public Number foo(); + public void bar(Number o); +} + +// FILE: 1.kt + +class A : Java1, Java2 { //Kotlin ← Java1, Java2 + override fun foo(): Int { + return 1 + } + + override fun bar(o: Any?) {} + override fun bar(o: Int) {} +} + +abstract class B : Java1, Java2 { //Kotlin ← Java1, Java2 + override fun bar(o: Int) {} +} + +class C : SeparateModuleJava1, SeparateModuleJava2 { //Kotlin ← Java1, Java2 (separate module) + override fun bar(o: Int) {} + + override fun bar(o: Any?) {} + + override fun foo(): Int { + return 1 + } +} + +class D : Java1, SeparateModuleJava2 { //Kotlin ← Java1, Java2 (separate module) + override fun foo(): Int { + return 1 + } + + override fun bar(o: Any?) {} + + override fun bar(o: Int) {} +} + +class E(override var a: Int) : Java1, KotlinInterface { //Kotlin ← Java, Kotlin2 + override fun bar(o: Int) {} + + override fun bar(o: Any?) {} + + override fun foo(): Int { + return 1 + } +} + +abstract class F : Java1, KotlinInterface { //Kotlin ← Java, Kotlin2 + override fun bar(o: Any?) {} + + override fun foo(): Int { + return 1 + } +} + +class G : Java1, KotlinInterface, SeparateModuleJava1 { //Kotlin ← Java1, Java2, Kotlin2 (separate module) + override var a: Int + get() = TODO("") + set(value) {} + + override fun foo(): Int { + return 1 + } + + override fun bar(o: Int) {} + + override fun bar(o: Any?) {} +} + +abstract class H : Java1, KotlinInterface, SeparateModuleJava1 { //Kotlin ← Java1, Java2, Kotlin2 (separate module) + override fun bar(o: Any) {} +} + +abstract class I : Java1, Java2, Java3 { //Kotlin ← Java1, Java2, Java3 + override fun bar(o: Any?) {} +} + +class J : Java1, Java2, Java3 { //Kotlin ← Java1, Java2, Java3 + override fun bar(o: Number?) {} + + override fun bar(o: Int) {} + + override fun bar(o: Any?) {} + + override fun foo(): Int { + return 1 + } +} + +interface KotlinInterface { + var a: Int + fun foo(): Int + fun bar(o: Int) +} + +interface KotlinInterface2 { + var a: Any + fun foo(): Any + fun bar(o: Any) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + val k1: Int = a.foo() + val k2: Unit = a.bar(1) + val k3: Unit = a.bar("") + val k4: Unit = a.bar(null) + val k5: Int = b.foo() + val k6: Unit = b.bar(1) + val k7: Unit = b.bar("") + val k8: Unit = b.bar(null) + val k9: Any = Java1.a + val k10: Int = Java2.a + val k11: Any = SeparateModuleJava1.a + val k12: Int = SeparateModuleJava2.a + val k13: Int = c.foo() + val k14: Unit = c.bar(1) + val k15: Unit = c.bar("") + val k16: Unit = c.bar(null) + val k17: Int = d.foo() + val k18: Unit = d.bar(1) + val k19: Unit = d.bar("") + val k20: Unit = d.bar(null) + val k22: Int = e.foo() + val k23: Unit = e.bar(1) + val k24: Unit = e.bar("") + val k25: Unit = e.bar(null) + val k26: Int = e.a + e.a = 4 + val k27: Int = f.foo() + val k28: Unit = f.bar(1) + val k29: Unit = f.bar("") + val k31: Int = f.a + f.a = 4 + val k32: Int = g.foo() + val k33: Unit = g.bar(1) + val k34: Unit = g.bar(1.2) + val k35: Unit = g.bar("") + val k36: Unit = g.bar(null) + val k37: Number = Java3.a + val k38: Int = h.foo() + val k39: Unit = h.bar(1) + val k40: Unit = h.bar("") + val k41: Int = h.a + h.a = 4 + val k42: Int = i.foo() + val k43: Unit = i.bar(1) + val k44: Unit = i.bar("") + val k45: Unit = i.bar(null) + val k46: Int = j.foo() + val k47: Unit = j.bar(1) + val k48: Unit = j.bar("") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt.txt new file mode 100644 index 00000000000..169e787350a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt.txt @@ -0,0 +1,258 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + +} + +class C : SeparateModuleJava1, SeparateModuleJava2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +class D : Java1, SeparateModuleJava2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +class E : Java1, KotlinInterface { + override var a: Int + field = a + override get + override set + + constructor(a: Int) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class F : Java1, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun foo(): Int { + return 1 + } + +} + +class G : Java1, KotlinInterface, SeparateModuleJava1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun foo(): Int { + return 1 + } + + override var a: Int + override get(): Int { + return TODO(reason = "") + } + override set(value: Int) { + } + +} + +abstract class H : Java1, KotlinInterface, SeparateModuleJava1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any) { + } + +} + +abstract class I : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + +} + +class J : Java1, Java2, Java3 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Any?) { + } + + override fun bar(o: Int) { + } + + override fun bar(o: Number?) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface KotlinInterface { + abstract fun bar(o: Int) + + abstract fun foo(): Int + + abstract var a: Int + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: Any) + + abstract fun foo(): Any + + abstract var a: Any + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + val k1: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Unit = a.bar(o = "") + val k4: Unit = a.bar(o = null) + val k5: Int = b.foo() + val k6: Unit = b.bar(o = 1) + val k7: Unit = b.bar(o = "") + val k8: Unit = b.bar(o = null) + val k9: Any = super.#a /*!! Any */ + val k10: Int = super.#a + val k11: Any = super.#a /*!! Any */ + val k12: Int = super.#a + val k13: Int = c.foo() + val k14: Unit = c.bar(o = 1) + val k15: Unit = c.bar(o = "") + val k16: Unit = c.bar(o = null) + val k17: Int = d.foo() + val k18: Unit = d.bar(o = 1) + val k19: Unit = d.bar(o = "") + val k20: Unit = d.bar(o = null) + val k22: Int = e.foo() + val k23: Unit = e.bar(o = 1) + val k24: Unit = e.bar(o = "") + val k25: Unit = e.bar(o = null) + val k26: Int = e.() + e.( = 4) + val k27: Int = f.foo() + val k28: Unit = f.bar(o = 1) + val k29: Unit = f.bar(o = "") + val k31: Int = f.() + f.( = 4) + val k32: Int = g.foo() + val k33: Unit = g.bar(o = 1) + val k34: Unit = g.bar(o = 1.2) + val k35: Unit = g.bar(o = "") + val k36: Unit = g.bar(o = null) + val k37: Number = super.#a /*!! Number */ + val k38: Int = h.foo() + val k39: Unit = h.bar(o = 1) + val k40: Unit = h.bar(o = "") + val k41: Int = h.() + h.( = 4) + val k42: Int = i.foo() + val k43: Unit = i.bar(o = 1) + val k44: Unit = i.bar(o = "") + val k45: Unit = i.bar(o = null) + val k46: Int = j.foo() + val k47: Unit = j.bar(o = 1) + val k48: Unit = j.bar(o = "") +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.sig.kt.txt new file mode 100644 index 00000000000..06774462ff6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.sig.kt.txt @@ -0,0 +1,453 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#bar(kotlin.Any?){} + // Public signature: /A.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: A#bar(kotlin.Int){} + // Public signature: /A.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}kotlin.Int + // Public signature: /A.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(kotlin.Any?){} + // Public signature: /B.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + abstract /* fake */ override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int + // Public signature: /B.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: B#bar(kotlin.Int){} + // Public signature: /B.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : SeparateModuleJava1, SeparateModuleJava2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#bar(kotlin.Any?){} + // Public signature: /C.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: C#bar(kotlin.Int){} + // Public signature: /C.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, SeparateModuleJava2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#bar(kotlin.Any?){} + // Public signature: /D.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int + // Public signature: /D.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, KotlinInterface { + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: E#(kotlin.Int){} + // Public signature: /E.|-5182794243525578284[0] + // Public signature debug description: (kotlin.Int){} + constructor(a: Int) /* primary */ + + // CHECK: + // Mangled name: E#bar(kotlin.Any?){} + // Public signature: /E.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: E#bar(kotlin.Int){} + // Public signature: /E.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java1, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(kotlin.Int){} + // Public signature: /F.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: F#bar(kotlin.Any?){} + // Public signature: /F.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Int + // Public signature: /F.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#bar(kotlin.Any?){} + // Public signature: /G.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: G#bar(kotlin.Int){} + // Public signature: /G.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Int + // Public signature: /G.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + override set(value: Int): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java1, KotlinInterface, SeparateModuleJava1 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#bar(kotlin.Int){} + // Public signature: /H.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: H#foo(){}kotlin.Int + // Public signature: /H.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: H#bar(kotlin.Any){} + // Public signature: /H.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + override fun bar(o: Any): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract /* fake */ override get(): Int + // CHECK: + // Mangled name: H#(kotlin.Int){} + // Public signature: /H.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : Java1, Java2, Java3 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#bar(kotlin.Int){} + // Public signature: /I.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract /* fake */ override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: I#bar(kotlin.Number?){} + // Public signature: /I.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + abstract /* fake */ override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: I#foo(){}kotlin.Int + // Public signature: /I.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract /* fake */ override fun foo(): Int + + // CHECK: + // Mangled name: I#bar(kotlin.Any?){} + // Public signature: /I.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java1, Java2, Java3 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#bar(kotlin.Any?){} + // Public signature: /J.bar|2391259649441243134[0] + // Public signature debug description: bar(kotlin.Any?){} + override fun bar(o: Any?): Unit + + // CHECK: + // Mangled name: J#bar(kotlin.Int){} + // Public signature: /J.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + + // CHECK: + // Mangled name: J#bar(kotlin.Number?){} + // Public signature: /J.bar|-5187092956211237501[0] + // Public signature debug description: bar(kotlin.Number?){} + override fun bar(o: Number?): Unit + + // CHECK JVM_IR: + // Mangled name: J#foo(){}kotlin.Int + // Public signature: /J.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(kotlin.Int){} + // Public signature: /KotlinInterface.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + abstract fun bar(o: Int): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}kotlin.Int + // Public signature: /KotlinInterface.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + abstract fun foo(): Int + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}kotlin.Int + // Public signature: /KotlinInterface.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + abstract get + // CHECK: + // Mangled name: KotlinInterface#(kotlin.Int){} + // Public signature: /KotlinInterface.a.|-6358787123203981221[0] + // Public signature debug description: (kotlin.Int){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(kotlin.Any){} + // Public signature: /KotlinInterface2.bar|182691292061191550[0] + // Public signature debug description: bar(kotlin.Any){} + abstract fun bar(o: Any): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}kotlin.Any + // Public signature: /KotlinInterface2.foo|-9059697968601777418[0] + // Public signature debug description: foo(){}kotlin.Any + abstract fun foo(): Any + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Any + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Any + // Public signature: /KotlinInterface2.a.|2674885770872562036[0] + // Public signature debug description: (){}kotlin.Any + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.Any){} + // Public signature: /KotlinInterface2.a.|-6749232401949477374[0] + // Public signature debug description: (kotlin.Any){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.ir.txt new file mode 100644 index 00000000000..1d2e2d6afe4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.ir.txt @@ -0,0 +1,468 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A.A>, o:R of .A) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:R of .A + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A.A>) returnType:R of .A + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A.A> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .A declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : R of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B.B>, o:R of .B) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:o index:0 type:R of .B + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.B.B>) returnType:R of .B + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private + EXPRESSION_BODY + GET_VAR 'a: R of .C declared in .C.' type=R of .C origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:R of .C + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .C declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private' type=R of .C origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>, :R of .C) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name: index:0 type:R of .C + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + value: GET_VAR ': R of .C declared in .C.' type=R of .C origin=null + CONSTRUCTOR visibility:public <> (a:R of .C) returnType:.C.C> [primary] + VALUE_PARAMETER name:a index:0 type:R of .C + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C.C>, o:R of .C) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:o index:0 type:R of .C + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C.C>) returnType:R of .C + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private + EXPRESSION_BODY + GET_VAR 'a: R of .D declared in .D.' type=R of .D origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>) returnType:R of .D + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .D declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private' type=R of .D origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>, :R of .D) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name: index:0 type:R of .D + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + value: GET_VAR ': R of .D declared in .D.' type=R of .D origin=null + CONSTRUCTOR visibility:public <> (a:R of .D) returnType:.D.D> [primary] + VALUE_PARAMETER name:a index:0 type:R of .D + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D.D>, o:R of .D) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:o index:0 type:R of .D + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>) returnType:R of .D + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .D declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.E.E> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : R of .E + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E.E>, o:R of .E) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name:o index:0 type:R of .E + BLOCK_BODY + CALL 'public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java3 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .E.E> declared in .E.bar' type=.E.E> origin=null + o: GET_VAR 'o: R of .E declared in .E.bar' type=R of .E origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.E.E>) returnType:R of .E + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .E declared in .E' + CALL 'public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java3 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=@[FlexibleNullability] R of .E? origin=null + $this: GET_VAR ': .E.E> declared in .E.foo' type=.E.E> origin=null + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F.F>, o:R of .F) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun bar (o: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + VALUE_PARAMETER name:o index:0 type:R of .F + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.F.F>) returnType:R of .F + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun foo (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .F declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + public abstract a: T of .KotlinInterface2 + FUN name: visibility:public modality:OPEN <> ($this:.F.F>) returnType:R of .F + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .F declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name: visibility:public modality:OPEN <> ($this:.F.F>, value:R of .F) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun (: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + VALUE_PARAMETER name:value index:0 type:R of .F + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, o:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, :T of .KotlinInterface) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2.KotlinInterface2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, o:T of .KotlinInterface2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, :T of .KotlinInterface2) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public open fun foo (): R of .A declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .A): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .B declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.String [val] + CALL 'public open fun foo (): R of .C declared in .C' type=kotlin.String origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.String [val] + CALL 'public open fun (): R of .C declared in .C' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .D declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k9 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun (): R of .D declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun (: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .E declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .F declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun (): R of .F declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun (value: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + value: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.kt.txt new file mode 100644 index 00000000000..a60b9a26594 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.fir.kt.txt @@ -0,0 +1,158 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class B : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class C : Java1, KotlinInterface { + override var a: R + field = a + override get + override set + + constructor(a: R) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class D : Java1, Java2, KotlinInterface { + override var a: R + field = a + override get + override set + + constructor(a: R) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class E : Java3, Java1, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun bar(o: R) { + super.bar(o = o) + } + + override fun foo(): R { + return super.foo() + } + +} + +class F : Java1, KotlinInterface2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + + override var a: R + override get(): R { + return CHECK_NOT_NULL(arg0 = null) + } + override set(value: R) { + } + +} + +interface KotlinInterface { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Int = b.foo() + val k4: Unit = b.bar(o = 1) + val k5: String = c.foo() + val k6: Unit = c.bar(o = "") + val k7: String = c.() + c.( = "") + val k8: Int = d.foo() + val k9: Unit = d.bar(o = 1) + val k10: Int = d.() + d.( = 1) + val k11: Int = e.foo() + val k12: Unit = e.bar(o = 1) + val k13: Int = e.#a /*!! Int */ + e.#a = 1 + val k14: Int = f.foo() + val k15: Unit = f.bar(o = 1) + val k16: Int = f.() + f.(value = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.ir.txt new file mode 100644 index 00000000000..d1fa9a5d952 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.ir.txt @@ -0,0 +1,474 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.A.A>, o:R of .A) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:R of .A + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.A.A>) returnType:R of .A + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A.A> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .A declared in .A' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] R of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.B.B>, o:R of .B) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:o index:0 type:R of .B + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.B.B>) returnType:R of .B + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.B.B> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .B declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java3? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private + EXPRESSION_BODY + GET_VAR 'a: R of .C declared in .C.' type=R of .C origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:R of .C + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .C declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private' type=R of .C origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>, :R of .C) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name: index:0 type:R of .C + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .C visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + value: GET_VAR ': R of .C declared in .C.' type=R of .C origin=null + CONSTRUCTOR visibility:public <> (a:R of .C) returnType:.C.C> [primary] + VALUE_PARAMETER name:a index:0 type:R of .C + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C.C>, o:R of .C) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:o index:0 type:R of .C + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C.C>) returnType:R of .C + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private + EXPRESSION_BODY + GET_VAR 'a: R of .D declared in .D.' type=R of .D origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>) returnType:R of .D + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .D declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private' type=R of .D origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D.D>, :R of .D) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name: index:0 type:R of .D + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:R of .D visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .D.D> declared in .D.' type=.D.D> origin=null + value: GET_VAR ': R of .D declared in .D.' type=R of .D origin=null + CONSTRUCTOR visibility:public <> (a:R of .D) returnType:.D.D> [primary] + VALUE_PARAMETER name:a index:0 type:R of .D + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D.D>, o:R of .D) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:o index:0 type:R of .D + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>) returnType:R of .D + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .D declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.E.E> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] R of .E? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E.E>, o:R of .E) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name:o index:0 type:R of .E + BLOCK_BODY + CALL 'public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java3 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit origin=null + $this: GET_VAR ': .E.E> declared in .E.bar' type=.E.E> origin=null + o: GET_VAR 'o: R of .E declared in .E.bar' type=R of .E origin=null + FUN name:foo visibility:public modality:OPEN <> ($this:.E.E>) returnType:R of .E + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .E declared in .E' + CALL 'public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Java3 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=@[FlexibleNullability] R of .E? origin=null + $this: GET_VAR ': .E.E> declared in .E.foo' type=.E.E> origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java3? + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.F.F>, o:R of .F) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun bar (o: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + VALUE_PARAMETER name:o index:0 type:R of .F + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.F.F>) returnType:R of .F + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun foo (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): R of .F declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: T of .KotlinInterface + public abstract a: T of .KotlinInterface2 + FUN name: visibility:public modality:OPEN <> ($this:.F.F>) returnType:R of .F + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): R of .F declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name: visibility:public modality:OPEN <> ($this:.F.F>, value:R of .F) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun (: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F.F> + VALUE_PARAMETER name:value index:0 type:R of .F + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, o:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, :T of .KotlinInterface) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2.KotlinInterface2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, o:T of .KotlinInterface2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, :T of .KotlinInterface2) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + CALL 'public open fun foo (): R of .A declared in .A' type=kotlin.Int origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .A): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .B declared in .B' type=kotlin.Int origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k5 type:kotlin.String [val] + CALL 'public open fun foo (): R of .C declared in .C' type=kotlin.String origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.String [val] + CALL 'public open fun (): R of .C declared in .C' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .D declared in .D' type=kotlin.Int origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k9 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k10 type:kotlin.Int [val] + CALL 'public open fun (): R of .D declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun (: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .E declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k12 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k13 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun foo (): R of .F declared in .F' type=kotlin.Int origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun (): R of .F declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun (value: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + value: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt new file mode 100644 index 00000000000..b07f50bf4af --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt @@ -0,0 +1,114 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public interface Java1 { + public T foo(); + public void bar(T o); +} + +// FILE: Java2.java + +public interface Java2 { + public T foo(); + public void bar(T o); +} + +// FILE: Java3.java + +public class Java3 { + public T a; + public T foo(){ return a;}; + public void bar(T o){}; +} + +// FILE: 1.kt + +class A : Java1, Java2 { //Kotlin ← Java1, Java2 + override fun foo(): R { + return null!! + } + + override fun bar(o: R) {} +} + +class B : Java1, Java3() { //Kotlin ← Java1, Java2 + override fun foo(): R { + return null!! + } + + override fun bar(o: R) {} +} + +class C(override var a: R) : Java1, KotlinInterface { //Kotlin ← Java, Kotlin2 + override fun foo(): R { + return null!! + } + + override fun bar(o: R) {} +} + +class D(override var a: R) : Java1, Java2, KotlinInterface { //Kotlin ← Java1, Java2, Kotlin2 + override fun foo(): R { + return null!! + } + + override fun bar(o: R) {} +} + +class E : Java1, Java2, Java3() { //Kotlin ← Java1, Java2, Java3 + override fun foo(): R { + return super.foo() + } + + override fun bar(o: R) { + super.bar(o) + } +} + +class F : Java1, KotlinInterface, KotlinInterface2 { //Kotlin ← Java, Kotlin1, Kotlin2 + override var a: R + get() = null!! + set(value) {} + + override fun foo(): R { + return null!! + } + + override fun bar(o: R) {} +} + +interface KotlinInterface { + var a: T + fun foo(): T + fun bar(o: T) +} + +interface KotlinInterface2 { + var a: T + fun foo(): T + fun bar(o: T) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() + val k2: Unit = a.bar(1) + val k3: Int = b.foo() + val k4: Unit = b.bar(1) + val k5: String = c.foo() + val k6: Unit = c.bar("") + val k7: String = c.a + c.a = "" + val k8: Int = d.foo() + val k9: Unit = d.bar(1) + val k10: Int = d.a + d.a = 1 + val k11: Int = e.foo() + val k12: Unit = e.bar(1) + val k13: Int = e.a + e.a = 1 + val k14: Int = f.foo() + val k15: Unit = f.bar(1) + val k16: Int = f.a + f.a = 1 +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt.txt new file mode 100644 index 00000000000..3d49376ff4e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt.txt @@ -0,0 +1,158 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class B : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability R?>() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class C : Java1, KotlinInterface { + override var a: R + field = a + override get + override set + + constructor(a: R) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class D : Java1, Java2, KotlinInterface { + override var a: R + field = a + override get + override set + + constructor(a: R) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +class E : Java3, Java1, Java2 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability R?>() + /* () */ + + } + + override fun bar(o: R) { + super.bar(o = o) + } + + override fun foo(): R { + return super.foo() + } + +} + +class F : Java1, KotlinInterface2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: R) { + } + + override fun foo(): R { + return CHECK_NOT_NULL(arg0 = null) + } + + override var a: R + override get(): R { + return CHECK_NOT_NULL(arg0 = null) + } + override set(value: R) { + } + +} + +interface KotlinInterface { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() + val k2: Unit = a.bar(o = 1) + val k3: Int = b.foo() + val k4: Unit = b.bar(o = 1) + val k5: String = c.foo() + val k6: Unit = c.bar(o = "") + val k7: String = c.() + c.( = "") + val k8: Int = d.foo() + val k9: Unit = d.bar(o = 1) + val k10: Int = d.() + d.( = 1) + val k11: Int = e.foo() + val k12: Unit = e.bar(o = 1) + val k13: Int = e(super).#a /*!! Int */ + e(super).#a = 1 + val k14: Int = f.foo() + val k15: Unit = f.bar(o = 1) + val k16: Int = f.() + f.(value = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.sig.kt.txt new file mode 100644 index 00000000000..5e956ef79f6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.sig.kt.txt @@ -0,0 +1,265 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#bar(1:0){} + // Public signature: /A.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}1:0 + // Public signature: /A.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java3, Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(1:0){} + // Public signature: /B.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}1:0 + // Public signature: /B.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: R + // CHECK JVM_IR: + // Mangled name: C#(){}1:0 + // Public signature: /C.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + override get + // CHECK: + // Mangled name: C#(1:0){} + // Public signature: /C.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + override set + + // CHECK: + // Mangled name: C#(1:0){} + // Public signature: /C.|-8731461708390519279[0] + // Public signature debug description: (1:0){} + constructor(a: R) /* primary */ + + // CHECK: + // Mangled name: C#bar(1:0){} + // Public signature: /C.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}1:0 + // Public signature: /C.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: R + // CHECK JVM_IR: + // Mangled name: D#(){}1:0 + // Public signature: /D.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + override get + // CHECK: + // Mangled name: D#(1:0){} + // Public signature: /D.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + override set + + // CHECK: + // Mangled name: D#(1:0){} + // Public signature: /D.|-8731461708390519279[0] + // Public signature debug description: (1:0){} + constructor(a: R) /* primary */ + + // CHECK: + // Mangled name: D#bar(1:0){} + // Public signature: /D.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}1:0 + // Public signature: /D.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3, Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#bar(1:0){} + // Public signature: /E.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}1:0 + // Public signature: /E.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1, KotlinInterface2, KotlinInterface { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(1:0){} + // Public signature: /F.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: R): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}1:0 + // Public signature: /F.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): R + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: R + // CHECK JVM_IR: + // Mangled name: F#(){}1:0 + // Public signature: /F.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + override get(): R + // CHECK: + // Mangled name: F#(1:0){} + // Public signature: /F.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + override set(value: R): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(1:0){} + // Public signature: /KotlinInterface.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}1:0 + // Public signature: /KotlinInterface.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}1:0 + // Public signature: /KotlinInterface.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: KotlinInterface#(1:0){} + // Public signature: /KotlinInterface.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(1:0){} + // Public signature: /KotlinInterface2.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}1:0 + // Public signature: /KotlinInterface2.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}1:0 + // Public signature: /KotlinInterface2.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(1:0){} + // Public signature: /KotlinInterface2.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-9218309580756492167[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..5440df5e43e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,581 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>; .Java2.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.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:[.Java1.B>; .Java2.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.B>, o:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2.B> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2.B>, :@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2.B> + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] T of .B? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private + EXPRESSION_BODY + GET_VAR 'a: T of .C declared in .C.' type=T of .C origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .C declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private' type=T of .C origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>, :T of .C) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name: index:0 type:T of .C + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + value: GET_VAR ': T of .C declared in .C.' type=T of .C origin=null + CONSTRUCTOR visibility:public <> (a:T of .C) returnType:.C.C> [primary] + VALUE_PARAMETER name:a index:0 type:T of .C + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C.C>, o:T of .C) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:o index:0 type:T of .C + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Kotlin.D>; .Java2.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Kotlin.D>; .Java2.D>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin.D>, o:T of .D) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: T of .Kotlin): kotlin.Unit declared in .Kotlin + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Kotlin.D> + VALUE_PARAMETER name:o index:0 type:T of .D + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin.D>) returnType:T of .D [fake_override] + overridden: + public abstract fun foo (): T of .Kotlin declared in .Kotlin + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Kotlin.D> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2.D>) returnType:@[FlexibleNullability] T of .D? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2.D> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java2.D>, :@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2.D> + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] T of .D? + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Kotlin.E>; .Java2.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private + EXPRESSION_BODY + GET_VAR 'a: T of .E declared in .E.' type=T of .E origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E.E>) returnType:T of .E + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .E declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private' type=T of .E origin=null + receiver: GET_VAR ': .E.E> declared in .E.' type=.E.E> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E.E>, :T of .E) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name: index:0 type:T of .E + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E.E> declared in .E.' type=.E.E> origin=null + value: GET_VAR ': T of .E declared in .E.' type=T of .E origin=null + CONSTRUCTOR visibility:public <> (a:T of .E) returnType:.E.E> [primary] + VALUE_PARAMETER name:a index:0 type:T of .E + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Kotlin.E>; .Java2.E>]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E.E>, o:T of .E) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: T of .Kotlin): kotlin.Unit declared in .Kotlin + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name:o index:0 type:T of .E + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E.E>) returnType:T of .E + overridden: + public abstract fun foo (): T of .Kotlin declared in .Kotlin + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .E declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin2.F>; .Java3.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin2.F>; .Java3.F>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.F>, o:@[FlexibleNullability] T of .F?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Kotlin2?): kotlin.Unit declared in .Kotlin2 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.F> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .F? + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.F>) returnType:@[FlexibleNullability] T of .F? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Kotlin2? declared in .Kotlin2 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.F> + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Kotlin2.G>; .Java3.G>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G.G> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.G.G> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Kotlin2.G>; .Java3.G>]' + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G.G>, o:T of .G) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Kotlin2?): kotlin.Unit declared in .Kotlin2 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G.G> + VALUE_PARAMETER name:o index:0 type:T of .G + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.G.G>) returnType:T of .G + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Kotlin2? declared in .Kotlin2 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G.G> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .G declared in .G' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4.H>; .Java3.H>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H.H> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.H.H> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4.H>; .Java3.H>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1<@[FlexibleNullability] T of .H?>, o:@[FlexibleNullability] T of .H?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] T of .H?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .H? + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1<@[FlexibleNullability] T of .H?>) returnType:@[FlexibleNullability] T of .H? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] T of .H?> + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4.I>; .Java3.I>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.I.I> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4.I>; .Java3.I>]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I.I>, o:T of .I) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.I.I> + VALUE_PARAMETER name:o index:0 type:T of .I + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.I.I>) returnType:T of .I + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.I.I> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .I declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A.A>, o:T of .A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:T of .A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + $this: VALUE_PARAMETER name: type:.A.A> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>, :T of .A) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name: index:0 type:T of .A + CLASS INTERFACE name:Kotlin modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin.Kotlin> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin.Kotlin>, o:T of .Kotlin) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Kotlin.Kotlin> + VALUE_PARAMETER name:o index:0 type:T of .Kotlin + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin.Kotlin>) returnType:T of .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin.Kotlin> + CLASS INTERFACE name:Kotlin2 modality:ABSTRACT visibility:public superTypes:[.Java1.Kotlin2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin2.Kotlin2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.Kotlin2>, o:@[FlexibleNullability] T of .Kotlin2?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.Kotlin2> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .Kotlin2? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.Kotlin2>) returnType:@[FlexibleNullability] T of .Kotlin2? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.Kotlin2> + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun (: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Any [val] + CALL 'public open fun (): T of .C declared in .C' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Any [val] + CALL 'public open fun foo (): T of .C declared in .C' type=kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.Any? [val] + CALL 'public abstract fun (): @[FlexibleNullability] T of .D? declared in .D' type=@[FlexibleNullability] kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: @[FlexibleNullability] T of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k12 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.Any? [val] + CALL 'public abstract fun foo (): T of .D declared in .D' type=kotlin.Any? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun (): T of .E declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun (: T of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun foo (): T of .E declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k17 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k19 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k20 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .F? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k21 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .G): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k22 type:kotlin.String [val] + CALL 'public open fun foo (): T of .G declared in .G' type=kotlin.String origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Any? [val] + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .H? declared in .H' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k27 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k28 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k29 type:kotlin.String? [val] + CALL 'public open fun foo (): T of .I declared in .I' type=kotlin.String? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..cab76cb4856 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,166 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1, Java2 { + override var a: T + field = a + override get + override set + + constructor(a: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class D : Java2, Kotlin { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class E : Java2, Kotlin { + override var a: T + field = a + override get + override set + + constructor(a: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class F : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class G : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class H : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class I : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface A { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface Kotlin { + abstract fun bar(o: T) + + abstract fun foo(): T + +} + +interface Kotlin2 : Java1 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + val k: Int = b.() /*!! Int */ + b.( = 1) + val k2: Unit = b.bar(o = 1) + val k3: Unit = b.bar(o = null) + val k4: Int = b.foo() /*!! Int */ + val k5: Any = c.() + c.( = "") + val k6: Unit = c.bar(o = 1) + val k7: Unit = c.bar(o = "") + val k8: Any = c.foo() + val k9: Any? = d.() + d.( = null) + val k10: Unit = d.bar(o = 1) + val k11: Unit = d.bar(o = "") + val k12: Unit = d.bar(o = null) + val k13: Any? = d.foo() + val k14: Int = e.() + e.( = 1) + val k15: Unit = e.bar(o = 1) + val k16: Int = e.foo() + val k17: Unit = f.bar(o = 1) + val k18: Unit = f.bar(o = "") + val k19: Unit = f.bar(o = null) + val k20: Any = f.foo() /*!! Any */ + val k21: Unit = g.bar(o = "") + val k22: String = g.foo() + val k23: Unit = h.bar(o = 1) + val k24: Unit = h.bar(o = "") + val k25: Unit = h.bar(o = null) + val k26: Any? = h.foo() + val k27: Unit = i.bar(o = "") + val k28: Unit = i.bar(o = null) + val k29: String? = i.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..2159da723cd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.ir.txt @@ -0,0 +1,581 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1.B>; .Java2.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.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:[.Java1.B>; .Java2.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.B>, o:@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .B? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.B>) returnType:@[FlexibleNullability] T of .B? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] T of .B?>) returnType:@[FlexibleNullability] T of .B? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] T of .B?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] T of .B?>, :@[FlexibleNullability] T of .B?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] T of .B?> + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] T of .B? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private + EXPRESSION_BODY + GET_VAR 'a: T of .C declared in .C.' type=T of .C origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .C declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private' type=T of .C origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C.C>, :T of .C) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name: index:0 type:T of .C + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .C visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C.C> declared in .C.' type=.C.C> origin=null + value: GET_VAR ': T of .C declared in .C.' type=T of .C origin=null + CONSTRUCTOR visibility:public <> (a:T of .C) returnType:.C.C> [primary] + VALUE_PARAMETER name:a index:0 type:T of .C + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1.C>; .Java2.C>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C.C>, o:T of .C) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + VALUE_PARAMETER name:o index:0 type:T of .C + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C.C>) returnType:T of .C + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.C.C> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .C declared in .C' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Kotlin.D>; .Java2.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Kotlin.D>; .Java2.D>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin.D>, o:T of .D) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: T of .Kotlin): kotlin.Unit declared in .Kotlin + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Kotlin.D> + VALUE_PARAMETER name:o index:0 type:T of .D + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin.D>) returnType:T of .D [fake_override] + overridden: + public abstract fun foo (): T of .Kotlin declared in .Kotlin + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Kotlin.D> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] T of .D?>) returnType:@[FlexibleNullability] T of .D? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] T of .D?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] T of .D?>, :@[FlexibleNullability] T of .D?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] T of .D?> + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] T of .D? + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Kotlin.E>; .Java2.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java2? + FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private + EXPRESSION_BODY + GET_VAR 'a: T of .E declared in .E.' type=T of .E origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E.E>) returnType:T of .E + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .E declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private' type=T of .E origin=null + receiver: GET_VAR ': .E.E> declared in .E.' type=.E.E> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.E.E>, :T of .E) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name: index:0 type:T of .E + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:T of .E visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .E.E> declared in .E.' type=.E.E> origin=null + value: GET_VAR ': T of .E declared in .E.' type=T of .E origin=null + CONSTRUCTOR visibility:public <> (a:T of .E) returnType:.E.E> [primary] + VALUE_PARAMETER name:a index:0 type:T of .E + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Kotlin.E>; .Java2.E>]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Kotlin + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin + public open fun hashCode (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in .Kotlin + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E.E>, o:T of .E) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: T of .Kotlin): kotlin.Unit declared in .Kotlin + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + VALUE_PARAMETER name:o index:0 type:T of .E + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E.E>) returnType:T of .E + overridden: + public abstract fun foo (): T of .Kotlin declared in .Kotlin + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E.E> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .E declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin2.F>; .Java3.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Kotlin2.F>; .Java3.F>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.F>, o:@[FlexibleNullability] T of .F?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Kotlin2?): kotlin.Unit declared in .Kotlin2 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.F> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .F? + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.F>) returnType:@[FlexibleNullability] T of .F? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Kotlin2? declared in .Kotlin2 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.F> + 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 .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Kotlin2.G>; .Java3.G>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G.G> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.G.G> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Kotlin2.G>; .Java3.G>]' + 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 .Kotlin2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Kotlin2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Kotlin2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.G.G>, o:T of .G) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Kotlin2?): kotlin.Unit declared in .Kotlin2 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.G.G> + VALUE_PARAMETER name:o index:0 type:T of .G + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.G.G>) returnType:T of .G + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Kotlin2? declared in .Kotlin2 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.G.G> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .G declared in .G' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4.H>; .Java3.H>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H.H> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.H.H> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[.Java4.H>; .Java3.H>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1<@[FlexibleNullability] T of .H?>, o:@[FlexibleNullability] T of .H?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] T of .H?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .H? + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1<@[FlexibleNullability] T of .H?>) returnType:@[FlexibleNullability] T of .H? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1<@[FlexibleNullability] T of .H?> + 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 .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4.I>; .Java3.I>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I.I> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.I.I> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java4.I>; .Java3.I>]' + 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 .Java4 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java4 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.I.I>, o:T of .I) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.I.I> + VALUE_PARAMETER name:o index:0 type:T of .I + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.I.I>) returnType:T of .I + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.I.I> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): T of .I declared in .I' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A.A>, o:T of .A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:T of .A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + $this: VALUE_PARAMETER name: type:.A.A> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>, :T of .A) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name: index:0 type:T of .A + CLASS INTERFACE name:Kotlin modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin.Kotlin> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.Kotlin.Kotlin>, o:T of .Kotlin) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Kotlin.Kotlin> + VALUE_PARAMETER name:o index:0 type:T of .Kotlin + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.Kotlin.Kotlin>) returnType:T of .Kotlin + $this: VALUE_PARAMETER name: type:.Kotlin.Kotlin> + CLASS INTERFACE name:Kotlin2 modality:ABSTRACT visibility:public superTypes:[.Java1.Kotlin2>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Kotlin2.Kotlin2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.Kotlin2>, o:@[FlexibleNullability] T of .Kotlin2?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.Kotlin2> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .Kotlin2? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.Kotlin2>) returnType:@[FlexibleNullability] T of .Kotlin2? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1.Kotlin2> + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:i index:7 type:.I + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun (: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .B? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Any [val] + CALL 'public open fun (): T of .C declared in .C' type=kotlin.Any origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun (: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST String type=kotlin.String value="" + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k7 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST String type=kotlin.String value="" + VAR name:k8 type:kotlin.Any [val] + CALL 'public open fun foo (): T of .C declared in .C' type=kotlin.Any origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.Any? [val] + CALL 'public abstract fun (): @[FlexibleNullability] T of .D? declared in .D' type=kotlin.Any? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: @[FlexibleNullability] T of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST Null type=kotlin.Nothing? value=null + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k11 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k12 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k13 type:kotlin.Any? [val] + CALL 'public abstract fun foo (): T of .D declared in .D' type=kotlin.Any? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k14 type:kotlin.Int [val] + CALL 'public open fun (): T of .E declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun (: T of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=EQ + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k15 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .E): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + CALL 'public open fun foo (): T of .E declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k17 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k19 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k20 type:kotlin.Any [val] + TYPE_OP type=kotlin.Any origin=IMPLICIT_NOTNULL typeOperand=kotlin.Any + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .F? declared in .F' type=@[FlexibleNullability] kotlin.Any? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k21 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .G): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST String type=kotlin.String value="" + VAR name:k22 type:kotlin.String [val] + CALL 'public open fun foo (): T of .G declared in .G' type=kotlin.String origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k23 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k24 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST String type=kotlin.String value="" + VAR name:k25 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] T of .H?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k26 type:kotlin.Any? [val] + CALL 'public abstract fun foo (): @[FlexibleNullability] T of .H? declared in .H' type=kotlin.Any? origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k27 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST String type=kotlin.String value="" + VAR name:k28 type:kotlin.Unit [val] + CALL 'public open fun bar (o: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k29 type:kotlin.String? [val] + CALL 'public open fun foo (): T of .I declared in .I' type=kotlin.String? origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt new file mode 100644 index 00000000000..80707136119 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt @@ -0,0 +1,110 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 { + T foo(); + void bar(T o); +} + +// FILE: Java2.java +public interface Java2 extends A { } + +// FILE: Java3.java +public interface Java3 { + T foo(); + void bar(T o); +} + +// FILE: Java4.java +public interface Java4 extends Java1 { } + +// FILE: 1.kt + +interface A { + var a: T; + fun foo(): T; + fun bar(o: T); +} + +abstract class B : Java1, Java2 //Kotlin ← Java1, Java2 ← Kotlin2 + +class C(override var a: T) : Java1, Java2 { //Kotlin ← Java1, Java2 ← Kotlin2 with explicit override + override fun bar(o: T) {} + override fun foo(): T { + return null!! + } +} + +abstract class D : Kotlin, Java2 // Kotlin ← Java, Kotlin2 ← Kotlin3 + +class E(override var a: T) : Kotlin, Java2 { // Kotlin ← Java, Kotlin2 ← Kotlin3 with explicit override + override fun bar(o: T) {} + + override fun foo(): T { + return null!! + } +} + +abstract class F : Kotlin2, Java3 //Kotlin ← Java, Kotlin2 ← Java2 + +class G : Kotlin2, Java3 { //Kotlin ← Java, Kotlin2 ← Java2 with explicit override + override fun bar(o: T) {} + + override fun foo(): T { + return null!! + } +} + +abstract class H : Java4, Java3 //Kotlin ← Java1, Java2 ← Java3 + +class I : Java4, Java3 { //Kotlin ← Java1, Java2 ← Java3 with explicit override + override fun bar(o: T) {} + + override fun foo(): T { + return null!! + } +} + +interface Kotlin { + fun foo(): T + fun bar(o: T) +} + +interface Kotlin2 : Java1 + +fun test(b: B, c: C, d: D, e: E, f: F, + g: G, h: H, i: I) { + val k: Int = b.a + b.a = 1 + val k2: Unit = b.bar(1) + val k3: Unit = b.bar(null) + val k4: Int = b.foo() + val k5: Any = c.a + c.a = "" + val k6: Unit = c.bar(1) + val k7: Unit = c.bar("") + val k8: Any = c.foo() + val k9: Any? = d.a + d.a = null + val k10: Unit = d.bar(1) + val k11: Unit = d.bar("") + val k12: Unit = d.bar(null) + val k13: Any? = d.foo() + val k14: Int = e.a + e.a = 1 + val k15: Unit = e.bar(1) + val k16: Int = e.foo() + val k17: Unit = f.bar(1) + val k18: Unit = f.bar("") + val k19: Unit = f.bar(null) + val k20: Any = f.foo() + val k21: Unit = g.bar("") + val k22: String = g.foo() + val k23: Unit = h.bar(1) + val k24: Unit = h.bar("") + val k25: Unit = h.bar(null) + val k26: Any? = h.foo() + val k27: Unit = i.bar("") + val k28: Unit = i.bar(null) + val k29: String? = i.foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..cab76cb4856 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt.txt @@ -0,0 +1,166 @@ +abstract class B : Java1, Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1, Java2 { + override var a: T + field = a + override get + override set + + constructor(a: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class D : Java2, Kotlin { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class E : Java2, Kotlin { + override var a: T + field = a + override get + override set + + constructor(a: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class F : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class G : Java3, Kotlin2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +abstract class H : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class I : Java3, Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: T) { + } + + override fun foo(): T { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +interface A { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface Kotlin { + abstract fun bar(o: T) + + abstract fun foo(): T + +} + +interface Kotlin2 : Java1 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + val k: Int = b.() /*!! Int */ + b.( = 1) + val k2: Unit = b.bar(o = 1) + val k3: Unit = b.bar(o = null) + val k4: Int = b.foo() /*!! Int */ + val k5: Any = c.() + c.( = "") + val k6: Unit = c.bar(o = 1) + val k7: Unit = c.bar(o = "") + val k8: Any = c.foo() + val k9: Any? = d.() + d.( = null) + val k10: Unit = d.bar(o = 1) + val k11: Unit = d.bar(o = "") + val k12: Unit = d.bar(o = null) + val k13: Any? = d.foo() + val k14: Int = e.() + e.( = 1) + val k15: Unit = e.bar(o = 1) + val k16: Int = e.foo() + val k17: Unit = f.bar(o = 1) + val k18: Unit = f.bar(o = "") + val k19: Unit = f.bar(o = null) + val k20: Any = f.foo() /*!! Any */ + val k21: Unit = g.bar(o = "") + val k22: String = g.foo() + val k23: Unit = h.bar(o = 1) + val k24: Unit = h.bar(o = "") + val k25: Unit = h.bar(o = null) + val k26: Any? = h.foo() + val k27: Unit = i.bar(o = "") + val k28: Unit = i.bar(o = null) + val k29: String? = i.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..0683500586f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,331 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(1:0?){} + // Public signature: /B.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: T?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}1:0? + // Public signature: /B.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): T? + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: T? + // CHECK JVM_IR: + // Mangled name: B#(){}1:0? + // Public signature: /B.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + abstract /* fake */ override get(): T? + // CHECK: + // Mangled name: B#(1:0?){} + // Public signature: /B.a.|-1235244592755794756[0] + // Public signature debug description: (1:0?){} + abstract /* fake */ override set(: T?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java2 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: T + // CHECK JVM_IR: + // Mangled name: C#(){}1:0 + // Public signature: /C.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + override get + // CHECK: + // Mangled name: C#(1:0){} + // Public signature: /C.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + override set + + // CHECK: + // Mangled name: C#(1:0){} + // Public signature: /C.|-8731461708390519279[0] + // Public signature debug description: (1:0){} + constructor(a: T) /* primary */ + + // CHECK: + // Mangled name: C#bar(1:0){} + // Public signature: /C.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}1:0 + // Public signature: /C.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): T + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java2, Kotlin { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#bar(1:0){} + // Public signature: /D.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract /* fake */ override fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}1:0 + // Public signature: /D.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract /* fake */ override fun foo(): T + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: T? + // CHECK JVM_IR: + // Mangled name: D#(){}1:0? + // Public signature: /D.a.|-8320407562288984615[0] + // Public signature debug description: (){}1:0? + abstract /* fake */ override get(): T? + // CHECK: + // Mangled name: D#(1:0?){} + // Public signature: /D.a.|-1235244592755794756[0] + // Public signature debug description: (1:0?){} + abstract /* fake */ override set(: T?): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2, Kotlin { + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: T + // CHECK JVM_IR: + // Mangled name: E#(){}1:0 + // Public signature: /E.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + override get + // CHECK: + // Mangled name: E#(1:0){} + // Public signature: /E.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + override set + + // CHECK: + // Mangled name: E#(1:0){} + // Public signature: /E.|-8731461708390519279[0] + // Public signature debug description: (1:0){} + constructor(a: T) /* primary */ + + // CHECK: + // Mangled name: E#bar(1:0){} + // Public signature: /E.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}1:0 + // Public signature: /E.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): T + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java3, Kotlin2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(1:0?){} + // Public signature: /F.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: T?): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}1:0? + // Public signature: /F.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): T? + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java3, Kotlin2 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#bar(1:0){} + // Public signature: /G.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}1:0 + // Public signature: /G.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): T + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +abstract class H : Java3, Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#bar(1:0?){} + // Public signature: /H.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: T?): Unit + + // CHECK JVM_IR: + // Mangled name: H#foo(){}1:0? + // Public signature: /H.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): T? + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java3, Java4 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#bar(1:0){} + // Public signature: /I.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + override fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: I#foo(){}1:0 + // Public signature: /I.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + override fun foo(): T + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A { + // CHECK: + // Mangled name: A#bar(1:0){} + // Public signature: /A.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}1:0 + // Public signature: /A.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: A#(){}1:0 + // Public signature: /A.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: A#(1:0){} + // Public signature: /A.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: Kotlin +// Public signature: /Kotlin|null[0] +interface Kotlin { + // CHECK: + // Mangled name: Kotlin#bar(1:0){} + // Public signature: /Kotlin.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: Kotlin#foo(){}1:0 + // Public signature: /Kotlin.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + +} + +// CHECK: +// Mangled name: Kotlin2 +// Public signature: /Kotlin2|null[0] +interface Kotlin2 : Java1 { + // CHECK: + // Mangled name: Kotlin2#bar(1:0?){} + // Public signature: /Kotlin2.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: T?): Unit + + // CHECK JVM_IR: + // Mangled name: Kotlin2#foo(){}1:0? + // Public signature: /Kotlin2.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): T? + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H;I){} +// Public signature: /test|7927544804938863778[0] +// Public signature debug description: test(B;C;D;E;F;G;H;I){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.ir.txt new file mode 100644 index 00000000000..94436aed47b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.ir.txt @@ -0,0 +1,416 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : R of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.B>, o:@[FlexibleNullability] R of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .B? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1.B>) returnType:@[FlexibleNullability] R of .B? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.E.E> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : R of .E + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.E>, o:@[FlexibleNullability] R of .E?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.E> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .E? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1.E>) returnType:@[FlexibleNullability] R of .E? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.E> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.A>, o:@[FlexibleNullability] R of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .A? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] R of .A? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.C>, o:@[FlexibleNullability] R of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.C> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .C? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>) returnType:R of .C [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>) returnType:R of .C [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>, :R of .C) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + VALUE_PARAMETER name: index:0 type:R of .C + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.D>, o:@[FlexibleNullability] R of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.D> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .D? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>) returnType:R of .D [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>) returnType:R of .D [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>, :R of .D) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + VALUE_PARAMETER name: index:0 type:R of .D + CLASS INTERFACE name:F modality:ABSTRACT visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.F>, o:@[FlexibleNullability] R of .F?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun bar (o: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1.F> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .F? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.F>) returnType:R of .F [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun foo (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2.F> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + public abstract a: T of .KotlinInterface2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.F>) returnType:R of .F [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface.F> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.F>, :R of .F) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun (: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface.F> + VALUE_PARAMETER name: index:0 type:R of .F + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, o:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, :T of .KotlinInterface) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2.KotlinInterface2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, o:T of .KotlinInterface2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, :T of .KotlinInterface2) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] R of .A? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=2 + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST String type=kotlin.String value="1" + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun foo (): @[FlexibleNullability] R of .B? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.Int [val] + CALL 'public abstract fun (): R of .C declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun (: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public abstract fun foo (): R of .C declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.String [val] + CALL 'public abstract fun (): R of .D declared in .D' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST String type=kotlin.String value="" + VAR name:k12 type:kotlin.String [val] + CALL 'public abstract fun foo (): R of .D declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k13 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun foo (): @[FlexibleNullability] R of .E? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k17 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .E?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .E?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k19 type:kotlin.String [val] + CALL 'public abstract fun (): R of .F declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.String [val] + CALL 'public abstract fun foo (): R of .F declared in .F' type=kotlin.String origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k21 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k22 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.kt.txt new file mode 100644 index 00000000000..eead2cf8a43 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.fir.kt.txt @@ -0,0 +1,85 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class B : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class E : Java3, Java1, Java2 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +interface A : Java1, Java2 { +} + +interface C : Java1, KotlinInterface { +} + +interface D : Java1, Java2, KotlinInterface { +} + +interface F : Java1, KotlinInterface2, KotlinInterface { +} + +interface KotlinInterface { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() /*!! Int */ + val k2: Unit = a.bar(o = 2) + val k3: String = b.#a /*!! String */ + b.#a = "1" + val k4: String = b.foo() /*!! String */ + val k5: Unit = b.bar(o = null) + val k6: Unit = b.bar(o = "") + val k7: Int = c.() + c.( = 1) + val k8: Int = c.foo() + val k9: Unit = c.bar(o = 1) + val k10: Unit = c.bar(o = null) + val k11: String = d.() + d.( = "") + val k12: String = d.foo() + val k13: Unit = d.bar(o = "") + val k14: Unit = d.bar(o = null) + val k15: Int = e.#a /*!! Int */ + e.#a = 1 + val k16: Int = e.foo() /*!! Int */ + val k17: Unit = e.bar(o = 1) + val k18: Unit = e.bar(o = null) + val k19: String = f.() + f.( = "") + val k20: String = f.foo() + val k21: Unit = f.bar(o = "") + val k22: Unit = f.bar(o = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.ir.txt new file mode 100644 index 00000000000..4623297999d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.ir.txt @@ -0,0 +1,422 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] R of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java3.B>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.B>, o:@[FlexibleNullability] R of .B?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.B> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .B? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1.B>) returnType:@[FlexibleNullability] R of .B? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.B> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java3? + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E.E> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.E.E> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + : @[FlexibleNullability] R of .E? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1.E>; .Java2.E>; .Java3.E>]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1.E>, o:@[FlexibleNullability] R of .E?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public open fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.E> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .E? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java3 + $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:.Java1.E>) returnType:@[FlexibleNullability] R of .E? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public open fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java1.E> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java3? + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.A>, o:@[FlexibleNullability] R of .A?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .A? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java1.A>) returnType:@[FlexibleNullability] R of .A? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:C modality:ABSTRACT visibility:public superTypes:[.Java1.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.C>, o:@[FlexibleNullability] R of .C?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.C> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .C? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>) returnType:R of .C [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>) returnType:R of .C [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.C>, :R of .C) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.C> + VALUE_PARAMETER name: index:0 type:R of .C + CLASS INTERFACE name:D modality:ABSTRACT visibility:public superTypes:[.Java1.D>; .Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.D>, o:@[FlexibleNullability] R of .D?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java1.D> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .D? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>) returnType:R of .D [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>) returnType:R of .D [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.D>, :R of .D) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.D> + VALUE_PARAMETER name: index:0 type:R of .D + CLASS INTERFACE name:F modality:ABSTRACT visibility:public superTypes:[.Java1.F>; .KotlinInterface.F>; .KotlinInterface2.F>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F.F> + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java1.F>, o:@[FlexibleNullability] R of .F?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun bar (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun bar (o: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.Java1.F> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] R of .F? + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.F>) returnType:R of .F [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + public abstract fun foo (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun foo (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface.F> + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .KotlinInterface + public open fun toString (): kotlin.String declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + public abstract a: T of .KotlinInterface2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.F>) returnType:R of .F [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun (): T of .KotlinInterface2 declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface.F> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.F>, :R of .F) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun (: T of .KotlinInterface2): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface.F> + VALUE_PARAMETER name: index:0 type:R of .F + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, o:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, :T of .KotlinInterface) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2.KotlinInterface2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, o:T of .KotlinInterface2) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>) returnType:T of .KotlinInterface2 + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2.KotlinInterface2>, :T of .KotlinInterface2) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2.KotlinInterface2> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface2 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] R of .A? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Int type=kotlin.Int value=2 + VAR name:k3 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST String type=kotlin.String value="1" + VAR name:k4 type:kotlin.String [val] + TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String + CALL 'public open fun foo (): @[FlexibleNullability] R of .B? declared in .B' type=@[FlexibleNullability] kotlin.String? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .B?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST String type=kotlin.String value="" + VAR name:k7 type:kotlin.Int [val] + CALL 'public abstract fun (): R of .C declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun (: R of .C): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Int [val] + CALL 'public abstract fun foo (): R of .C declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k10 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k11 type:kotlin.String [val] + CALL 'public abstract fun (): R of .D declared in .D' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public abstract fun (: R of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=EQ + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + : CONST String type=kotlin.String value="" + VAR name:k12 type:kotlin.String [val] + CALL 'public abstract fun foo (): R of .D declared in .D' type=kotlin.String origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k13 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST String type=kotlin.String value="" + VAR name:k14 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .D?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java3? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + value: CONST Int type=kotlin.Int value=1 + VAR name:k16 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun foo (): @[FlexibleNullability] R of .E? declared in .E' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k17 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .E?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k18 type:kotlin.Unit [val] + CALL 'public open fun bar (o: @[FlexibleNullability] R of .E?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k19 type:kotlin.String [val] + CALL 'public abstract fun (): R of .F declared in .F' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun (: R of .F): kotlin.Unit declared in .F' type=kotlin.Unit origin=EQ + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + : CONST String type=kotlin.String value="" + VAR name:k20 type:kotlin.String [val] + CALL 'public abstract fun foo (): R of .F declared in .F' type=kotlin.String origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k21 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST String type=kotlin.String value="" + VAR name:k22 type:kotlin.Unit [val] + CALL 'public abstract fun bar (o: @[FlexibleNullability] R of .F?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt new file mode 100644 index 00000000000..eadee210124 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt @@ -0,0 +1,88 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: JavaSeparateModule.java +public interface JavaSeparateModule { + public int a = 1; + public int foo(); + public void bar(int o); +} + +// MODULE: main +// FILE: Java1.java + +public interface Java1 { + public T foo(); + public void bar(T o); +} + +// FILE: Java2.java + +public interface Java2 { + public T foo(); + public void bar(T o); +} + +// FILE: Java3.java + +public class Java3 { + public T a; + public T foo(){return a;}; + public void bar(T o){}; +} + +// FILE: 1.kt + +interface A : Java1, Java2 //Kotlin ← Java1, Java2 + +class B : Java1, Java3() //Kotlin ← Java1, Java2 + +interface C : Java1, KotlinInterface //Kotlin ← Java, Kotlin2 + +interface D: Java1, Java2, KotlinInterface //Kotlin ← Java1, Java2, Kotlin2 + +class E: Java1, Java2, Java3() //Kotlin ← Java1, Java2, Java3 + +interface F: Java1, KotlinInterface, KotlinInterface2 //Kotlin ← Java, Kotlin1, Kotlin2 + +interface KotlinInterface { + var a: T + fun foo(): T + fun bar(o: T) +} + +interface KotlinInterface2 { + var a: T + fun foo(): T + fun bar(o: T) +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() + val k2: Unit = a.bar(2) + val k3: String = b.a + b.a = "1" + val k4: String = b.foo() + val k5: Unit = b.bar(null) + val k6: Unit = b.bar("") + val k7: Int = c.a + c.a = 1 + val k8: Int = c.foo() + val k9: Unit = c.bar(1) + val k10: Unit = c.bar(null) + val k11: String = d.a + d.a = "" + val k12: String = d.foo() + val k13: Unit = d.bar("") + val k14: Unit = d.bar(null) + val k15: Int = e.a + e.a = 1 + val k16: Int = e.foo() + val k17: Unit = e.bar(1) + val k18: Unit = e.bar(null) + val k19: String = f.a + f.a = "" + val k20: String = f.foo() + val k21: Unit = f.bar("") + val k22: Unit = f.bar(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt.txt new file mode 100644 index 00000000000..4591eb7691a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt.txt @@ -0,0 +1,85 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class B : Java3, Java1 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability R?>() + /* () */ + + } + +} + +class E : Java3, Java1, Java2 { + constructor() /* primary */ { + super/*Java3*/<@FlexibleNullability R?>() + /* () */ + + } + +} + +interface A : Java1, Java2 { +} + +interface C : Java1, KotlinInterface { +} + +interface D : Java1, Java2, KotlinInterface { +} + +interface F : Java1, KotlinInterface2, KotlinInterface { +} + +interface KotlinInterface { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: Int = a.foo() /*!! Int */ + val k2: Unit = a.bar(o = 2) + val k3: String = b(super).#a /*!! String */ + b(super).#a = "1" + val k4: String = b.foo() /*!! String */ + val k5: Unit = b.bar(o = null) + val k6: Unit = b.bar(o = "") + val k7: Int = c.() + c.( = 1) + val k8: Int = c.foo() + val k9: Unit = c.bar(o = 1) + val k10: Unit = c.bar(o = null) + val k11: String = d.() + d.( = "") + val k12: String = d.foo() + val k13: Unit = d.bar(o = "") + val k14: Unit = d.bar(o = null) + val k15: Int = e(super).#a /*!! Int */ + e(super).#a = 1 + val k16: Int = e.foo() /*!! Int */ + val k17: Unit = e.bar(o = 1) + val k18: Unit = e.bar(o = null) + val k19: String = f.() + f.( = "") + val k20: String = f.foo() + val k21: Unit = f.bar(o = "") + val k22: Unit = f.bar(o = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.sig.kt.txt new file mode 100644 index 00000000000..4cdefe048e4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.sig.kt.txt @@ -0,0 +1,245 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java3, Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(1:0?){} + // Public signature: /B.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}1:0? + // Public signature: /B.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + /* fake */ override fun foo(): R? + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3, Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#bar(1:0?){} + // Public signature: /E.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}1:0? + // Public signature: /E.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + /* fake */ override fun foo(): R? + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : Java1, Java2 { + // CHECK: + // Mangled name: A#bar(1:0?){} + // Public signature: /A.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}1:0? + // Public signature: /A.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): R? + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +interface C : Java1, KotlinInterface { + // CHECK: + // Mangled name: C#bar(1:0?){} + // Public signature: /C.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}1:0 + // Public signature: /C.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract /* fake */ override fun foo(): R + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: R + // CHECK JVM_IR: + // Mangled name: C#(){}1:0 + // Public signature: /C.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract /* fake */ override get(): R + // CHECK: + // Mangled name: C#(1:0){} + // Public signature: /C.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract /* fake */ override set(: R): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +interface D : Java1, Java2, KotlinInterface { + // CHECK: + // Mangled name: D#bar(1:0?){} + // Public signature: /D.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: D#foo(){}1:0 + // Public signature: /D.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract /* fake */ override fun foo(): R + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: R + // CHECK JVM_IR: + // Mangled name: D#(){}1:0 + // Public signature: /D.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract /* fake */ override get(): R + // CHECK: + // Mangled name: D#(1:0){} + // Public signature: /D.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract /* fake */ override set(: R): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +interface F : Java1, KotlinInterface2, KotlinInterface { + // CHECK: + // Mangled name: F#bar(1:0?){} + // Public signature: /F.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: R?): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}1:0 + // Public signature: /F.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract /* fake */ override fun foo(): R + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: R + // CHECK JVM_IR: + // Mangled name: F#(){}1:0 + // Public signature: /F.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract /* fake */ override get(): R + // CHECK: + // Mangled name: F#(1:0){} + // Public signature: /F.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract /* fake */ override set(: R): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#bar(1:0){} + // Public signature: /KotlinInterface.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}1:0 + // Public signature: /KotlinInterface.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}1:0 + // Public signature: /KotlinInterface.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: KotlinInterface#(1:0){} + // Public signature: /KotlinInterface.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK: + // Mangled name: KotlinInterface2#bar(1:0){} + // Public signature: /KotlinInterface2.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#foo(){}1:0 + // Public signature: /KotlinInterface2.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}1:0 + // Public signature: /KotlinInterface2.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(1:0){} + // Public signature: /KotlinInterface2.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|7744142638973654442[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.ir.txt new file mode 100644 index 00000000000..0c6f77cc0c0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.ir.txt @@ -0,0 +1,175 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .J1? declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + 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 .J1 + $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:.J1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J1?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J2) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .J2? declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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:.J2, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J2?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .J1? declared in .J1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J1?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .J2? declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J2?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J1? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k4 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J2? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k5 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k6 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k7 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J1? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k9 type:kotlin.Int [val] + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k10 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J2? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k11 type:kotlin.Unit [val] + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k12 type:kotlin.Int [val] + CALL 'public open fun bar (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.kt.txt new file mode 100644 index 00000000000..b314c5309f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.fir.kt.txt @@ -0,0 +1,68 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +class C : J1 { + constructor() /* primary */ { + super/*J1*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +fun test() { + val k1: Int = A().#a /*!! Int */ + val k2: Unit = A().foo(t = 1) + val k3: Int = A().bar() /*!! Int */ + val k4: Int = B().#a /*!! Int */ + val k5: Unit = B().foo(t = 2) + val k6: Int = B().bar() /*!! Int */ + val k7: Int = C().#a /*!! Int */ + val k8: Unit = C().foo(t = 2) + val k9: Int = C().bar() + val k10: Int = D().#a /*!! Int */ + val k11: Unit = D().foo(t = 2) + val k12: Int = D().bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.ir.txt new file mode 100644 index 00000000000..c17235c2da3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.ir.txt @@ -0,0 +1,187 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .J1? declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + 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 .J1 + $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:.J1, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J1?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.J1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .J1? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.J2) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .J2? declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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:.J2, t:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J2?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .J2? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J1]' + 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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J1 + $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 .J1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .J1? declared in .J1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.C, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J1?): kotlin.Unit declared in .J1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .J1? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int + overridden: + public open fun bar (): @[FlexibleNullability] T of .J2? declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=1 + FUN name:foo visibility:public modality:OPEN <> ($this:.D, t:kotlin.Int?) returnType:kotlin.Unit + overridden: + public open fun foo (t: @[FlexibleNullability] T of .J2?): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:t index:0 type:kotlin.Int? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .J2? + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:k1 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J1? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + t: CONST Int type=kotlin.Int value=1 + VAR name:k3 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .A' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k4 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J2? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k5 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k6 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k7 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J1? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k8 type:kotlin.Unit [val] + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k9 type:kotlin.Int [val] + CALL 'public open fun bar (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k10 type:kotlin.Int [val] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .J2? visibility:public' type=@[FlexibleNullability] kotlin.Int? origin=null + receiver: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + VAR name:k11 type:kotlin.Unit [val] + CALL 'public open fun foo (t: kotlin.Int?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null + t: CONST Int type=kotlin.Int value=2 + VAR name:k12 type:kotlin.Int [val] + CALL 'public open fun bar (): kotlin.Int declared in .D' type=kotlin.Int origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt new file mode 100644 index 00000000000..9656f78e19d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt @@ -0,0 +1,61 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: J2.java +public class J2 { + public T a; + + public void foo(T t) {}; + + public T bar() { + return a; + }; +} + +// MODULE: main +// FILE: J1.java + +public class J1 { + public T a; + + public void foo(T t) {}; + + public T bar() { + return a; + }; +} + +// FILE: 1.kt + +class A : J1() + +class B : J2() + +class C: J1(){ + override fun bar(): Int { + return 1 + } + override fun foo(t: Int?) { } +} + +class D: J2(){ + override fun bar(): Int { + return 1 + } + override fun foo(t: Int?) { } +} + +fun test() { + val k1: Int = A().a + val k2: Unit = A().foo(1) + val k3: Int = A().bar() + val k4: Int = B().a + val k5: Unit = B().foo(2) + val k6: Int = B().bar() + val k7: Int = C().a + val k8: Unit = C().foo(2) + val k9: Int = C().bar() + val k10: Int = D().a + val k11: Unit = D().foo(2) + val k12: Int = D().bar() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt.txt new file mode 100644 index 00000000000..ba2a8041838 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt.txt @@ -0,0 +1,68 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : J1 { + constructor() /* primary */ { + super/*J1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class C : J1 { + constructor() /* primary */ { + super/*J1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): Int { + return 1 + } + + override fun foo(t: Int?) { + } + +} + +fun test() { + val k1: Int = A()(super).#a /*!! Int */ + val k2: Unit = A().foo(t = 1) + val k3: Int = A().bar() /*!! Int */ + val k4: Int = B()(super).#a /*!! Int */ + val k5: Unit = B().foo(t = 2) + val k6: Int = B().bar() /*!! Int */ + val k7: Int = C()(super).#a /*!! Int */ + val k8: Unit = C().foo(t = 2) + val k9: Int = C().bar() + val k10: Int = D()(super).#a /*!! Int */ + val k11: Unit = D().foo(t = 2) + val k12: Int = D().bar() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.sig.kt.txt new file mode 100644 index 00000000000..c5b71e1d25f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.sig.kt.txt @@ -0,0 +1,105 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : J1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Int? + // Public signature: /A.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: A#foo(kotlin.Int?){} + // Public signature: /A.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : J2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Int? + // Public signature: /B.bar|793910862689138186[0] + // Public signature debug description: bar(){}kotlin.Int? + /* fake */ override fun bar(): Int? + + // CHECK: + // Mangled name: B#foo(kotlin.Int?){} + // Public signature: /B.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + /* fake */ override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : J1 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Int + // Public signature: /C.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: C#foo(kotlin.Int?){} + // Public signature: /C.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : J2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.Int + // Public signature: /D.bar|-6436649210114349217[0] + // Public signature debug description: bar(){}kotlin.Int + override fun bar(): Int + + // CHECK: + // Mangled name: D#foo(kotlin.Int?){} + // Public signature: /D.foo|-4109638554625433529[0] + // Public signature debug description: foo(kotlin.Int?){} + override fun foo(t: Int?): Unit + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.ir.txt new file mode 100644 index 00000000000..44d2c56226e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.ir.txt @@ -0,0 +1,463 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar3 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableSet + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableSet declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo3 visibility:public modality:OPEN <> ($this:.E, c:kotlin.collections.MutableSet) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.F) returnType:java.util.Queue + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.Queue declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, b:java.util.Queue?) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:b index:0 type:java.util.Queue? + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : kotlin.Int + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Int + VAR name:k4 type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k5 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k6 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: GET_VAR 'val k: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: GET_VAR 'val k2: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: GET_VAR 'val k3: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k19 type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k20 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k21 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : kotlin.String + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.String? + VAR name:k22 type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k23 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? declared in .B' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k24 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k19: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: GET_VAR 'val k20: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.String?>?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: GET_VAR 'val k21: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k25 type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k26 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k27 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : kotlin.Any + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + VAR name:k28 type:kotlin.collections.MutableList [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k29 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k30 type:kotlin.collections.MutableSet [val] + TYPE_OP type=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=@[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k25: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: GET_VAR 'val k26: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: GET_VAR 'val k27: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k31 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (c: kotlin.collections.MutableSet): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + c: CALL 'public final fun mutableSetOf (vararg elements: T of kotlin.collections.mutableSetOf): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CONST String type=kotlin.String value="" + VAR name:k32 type:java.util.Queue [val] + CALL 'public open fun bar2 (): java.util.Queue declared in .F' type=java.util.Queue origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo2 (b: java.util.Queue?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : kotlin.Any diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.kt.txt new file mode 100644 index 00000000000..c542aa3fb9c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.fir.kt.txt @@ -0,0 +1,121 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + +} + +class E : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar3(): MutableSet { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo3(c: MutableSet) { + } + +} + +class F : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun bar2(): Queue { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo2(b: Queue?) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: MutableList = a.#a /*!! @FlexibleMutability MutableList<@FlexibleNullability Int?> */ + val k2: Queue = a.#b /*!! Queue<@FlexibleNullability Int?> */ + val k3: MutableSet = a.#c /*!! @FlexibleMutability MutableSet<@FlexibleNullability Int?> */ + a.#a = mutableListOf() + a.#b = LinkedList() + a.#c = mutableSetOf() + val k4: MutableList = a.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability Int?> */ + val k5: Queue = a.bar2() /*!! Queue<@FlexibleNullability Int?> */ + val k6: MutableSet = A().bar3() /*!! @FlexibleMutability MutableSet<@FlexibleNullability Int?> */ + a.foo(a = k) + a.foo2(b = k2) + a.foo3(c = k3) + val k19: MutableList = b.#a /*!! @FlexibleMutability MutableList<@FlexibleNullability String?> */ + val k20: Queue = b.#b /*!! Queue<@FlexibleNullability String?> */ + val k21: MutableSet = b.#c /*!! @FlexibleMutability MutableSet<@FlexibleNullability String?> */ + b.#a = mutableListOf() + b.#b = LinkedList() + b.#c = mutableSetOf() + val k22: MutableList = b.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability String?> */ + val k23: Queue = b.bar2() /*!! Queue<@FlexibleNullability String?> */ + val k24: MutableSet = b.bar3() /*!! @FlexibleMutability MutableSet<@FlexibleNullability String?> */ + b.foo(a = k19) + b.foo2(b = k20) + b.foo3(c = k21) + val k25: MutableList = c.#a /*!! @FlexibleMutability MutableList<@FlexibleNullability Any?> */ + val k26: Queue = c.#b /*!! Queue<@FlexibleNullability Any?> */ + val k27: MutableSet = c.#c /*!! @FlexibleMutability MutableSet<@FlexibleNullability Any?> */ + c.#a = mutableListOf() + c.#b = LinkedList() + c.#c = mutableSetOf() + val k28: MutableList = c.bar() /*!! @FlexibleMutability MutableList<@FlexibleNullability Any?> */ + val k29: Queue = c.bar2() /*!! Queue<@FlexibleNullability Any?> */ + val k30: MutableSet = c.bar3() /*!! @FlexibleMutability MutableSet<@FlexibleNullability Any?> */ + c.foo(a = k25) + c.foo2(b = k26) + c.foo3(c = k27) + val k31: MutableList = d.bar() + e.foo3(c = mutableSetOf(elements = [null, ""])) + val k32: Queue = f.bar2() + f.foo2(b = LinkedList()) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.ir.txt new file mode 100644 index 00000000000..a6a437f85c0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.ir.txt @@ -0,0 +1,529 @@ +Module: separate +Module: main +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java2) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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:.Java2, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java2, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java2, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.collections.MutableList + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.collections.MutableList declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.collections.MutableList) returnType:kotlin.Unit + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.collections.MutableList + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.String? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] java.util.Queue? [fake_override] + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:OPEN <> ($this:.Java1, b:@[FlexibleNullability] java.util.Queue?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:b index:0 type:@[FlexibleNullability] java.util.Queue? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar3 visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.collections.MutableSet + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar3 (): kotlin.collections.MutableSet declared in .E' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo3 visibility:public modality:OPEN <> ($this:.E, c:kotlin.collections.MutableSet) returnType:kotlin.Unit + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:c index:0 type:kotlin.collections.MutableSet + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name:bar3 visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? [fake_override] + overridden: + public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:foo3 visibility:public modality:OPEN <> ($this:.Java1, c:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:c index:0 type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.F) returnType:java.util.Queue + overridden: + public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): java.util.Queue declared in .F' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:foo2 visibility:public modality:OPEN <> ($this:.F, b:java.util.Queue?) returnType:kotlin.Unit + overridden: + public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:b index:0 type:java.util.Queue? + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,var] + overridden: + public final b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:FINAL [fake_override,var] + overridden: + public final c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + VAR name:k type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Int + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : @[FlexibleNullability] kotlin.Int? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Int + VAR name:k4 type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k5 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k6 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Int?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? declared in .A' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: GET_VAR 'val k: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + b: GET_VAR 'val k2: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Int?>?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + c: GET_VAR 'val k3: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k19 type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k20 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] java.util.Queue? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k21 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : @[FlexibleNullability] kotlin.String? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java1?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.String? + VAR name:k22 type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k23 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue? declared in .B' type=@[FlexibleNullability] java.util.Queue? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k24 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet? declared in .B' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k19: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + b: GET_VAR 'val k20: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + c: GET_VAR 'val k21: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k25 type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k26 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k27 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? visibility:public' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun mutableListOf (): kotlin.collections.MutableList declared in kotlin.collections' type=kotlin.collections.MutableList origin=null + : kotlin.Any + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:b type:@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : @[FlexibleNullability] kotlin.Any? + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:c type:@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] T of .Java2?>? visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CALL 'public final fun mutableSetOf (): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.Any + VAR name:k28 type:kotlin.collections.MutableList [val] + TYPE_OP type=kotlin.collections.MutableList origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableList + TYPE_OP type=kotlin.collections.List<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k29 type:java.util.Queue [val] + TYPE_OP type=java.util.Queue<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=java.util.Queue<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar2 (): @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k30 type:kotlin.collections.MutableSet [val] + TYPE_OP type=kotlin.collections.MutableSet origin=IMPLICIT_CAST typeOperand=kotlin.collections.MutableSet + TYPE_OP type=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.Set<@[FlexibleNullability] kotlin.Any?> + CALL 'public open fun bar3 (): @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? declared in .C' type=@[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableList<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k25: kotlin.collections.MutableList declared in .test' type=kotlin.collections.MutableList origin=null + CALL 'public open fun foo2 (b: @[FlexibleNullability] java.util.Queue<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + b: GET_VAR 'val k26: java.util.Queue declared in .test' type=java.util.Queue origin=null + CALL 'public open fun foo3 (c: @[FlexibleNullability] @[FlexibleMutability] kotlin.collections.MutableSet<@[FlexibleNullability] kotlin.Any?>?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + c: GET_VAR 'val k27: kotlin.collections.MutableSet declared in .test' type=kotlin.collections.MutableSet origin=null + VAR name:k31 type:kotlin.collections.MutableList [val] + CALL 'public open fun bar (): kotlin.collections.MutableList declared in .D' type=kotlin.collections.MutableList origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo3 (c: kotlin.collections.MutableSet): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + c: CALL 'public final fun mutableSetOf (vararg elements: T of kotlin.collections.mutableSetOf): kotlin.collections.MutableSet declared in kotlin.collections' type=kotlin.collections.MutableSet origin=null + : kotlin.String? + elements: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CONST String type=kotlin.String value="" + VAR name:k32 type:java.util.Queue [val] + CALL 'public open fun bar2 (): java.util.Queue declared in .F' type=java.util.Queue origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo2 (b: java.util.Queue?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + b: CONSTRUCTOR_CALL 'public constructor () declared in java.util.LinkedList' type=java.util.LinkedList origin=null + : @[FlexibleNullability] kotlin.Any? diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt new file mode 100644 index 00000000000..b913e7dc57e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt @@ -0,0 +1,117 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// WITH_STDLIB + +// MODULE: separate +// FILE: Java2.java +import java.util.* + +public class Java2 { + public List a = new ArrayList(); + public Queue b = new ArrayDeque(); + public Set c = new HashSet(); + + public void foo(List a) {}; + public List bar() { return a; }; + + public void foo2(Queue b) {}; + public Queue bar2() { return b; }; + + public void foo3(Set c) {}; + public Set bar3() { return c; }; +} + +// MODULE: main +// FILE: J1.java +import java.util.*; + +public class Java1 { + public List a = new ArrayList(); + public Queue b = new ArrayDeque(); + public Set c = new HashSet(); + + public void foo(List a) {}; + public List bar() { return a; }; + + public void foo2(Queue b) {}; + public Queue bar2() { return b; }; + + public void foo3(Set c) {}; + public Set bar3() { return c; }; +} + +// FILE: 1.kt +import java.util.* + +class A : Java1() + +class B : Java1() + +class C: Java2() + +class D : Java1(){ + override fun bar(): MutableList { + return null!! + } + override fun foo(a: MutableList) { } +} + +class E : Java1(){ + override fun foo3(c: MutableSet) { } + override fun bar3(): MutableSet { + return null!! + } +} + +class F : Java1(){ + override fun bar2(): Queue { + return null!! + } + override fun foo2(b: Queue?) { } +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: MutableList = a.a + val k2: Queue = a.b + val k3: MutableSet = a.c + a.a = mutableListOf() + a.b = LinkedList() + a.c = mutableSetOf() + val k4: MutableList = a.bar() + val k5: Queue = a.bar2() + val k6: MutableSet = A().bar3() + a.foo(k) + a.foo2(k2) + a.foo3(k3) + + val k19: MutableList = b.a + val k20: Queue = b.b + val k21: MutableSet = b.c + b.a = mutableListOf() + b.b = LinkedList() + b.c = mutableSetOf() + val k22: MutableList = b.bar() + val k23: Queue = b.bar2() + val k24: MutableSet = b.bar3() + b.foo(k19) + b.foo2(k20) + b.foo3(k21) + + val k25: MutableList = c.a + val k26: Queue = c.b + val k27: MutableSet = c.c + c.a = mutableListOf() + c.b = LinkedList() + c.c = mutableSetOf() + val k28: MutableList = c.bar() + val k29: Queue = c.bar2() + val k30: MutableSet = c.bar3() + c.foo(k25) + c.foo2(k26) + c.foo3(k27) + + val k31: MutableList = d.bar() + e.foo3(mutableSetOf(null, "")) + val k32 : Queue = f.bar2() + f.foo2(LinkedList()) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt.txt new file mode 100644 index 00000000000..fee135ba59f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt.txt @@ -0,0 +1,121 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability String?>() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/<@FlexibleNullability Any?>() + /* () */ + + } + +} + +class D : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + + override fun bar(): MutableList { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo(a: MutableList) { + } + +} + +class E : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability String?>() + /* () */ + + } + + override fun bar3(): MutableSet { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo3(c: MutableSet) { + } + +} + +class F : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun bar2(): Queue { + return CHECK_NOT_NULL(arg0 = null) + } + + override fun foo2(b: Queue?) { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + val k: MutableList = a(super).#a /*!! List<@FlexibleNullability Int?> */ /*as MutableList */ + val k2: Queue = a(super).#b /*!! Queue<@FlexibleNullability Int?> */ + val k3: MutableSet = a(super).#c /*!! Set<@FlexibleNullability Int?> */ /*as MutableSet */ + a(super).#a = mutableListOf() + a(super).#b = LinkedList<@FlexibleNullability Int?>() + a(super).#c = mutableSetOf() + val k4: MutableList = a.bar() /*!! List<@FlexibleNullability Int?> */ /*as MutableList */ + val k5: Queue = a.bar2() /*!! Queue<@FlexibleNullability Int?> */ + val k6: MutableSet = A().bar3() /*!! Set<@FlexibleNullability Int?> */ /*as MutableSet */ + a.foo(a = k) + a.foo2(b = k2) + a.foo3(c = k3) + val k19: MutableList = b(super).#a /*!! List */ /*as MutableList */ + val k20: Queue = b(super).#b /*!! Queue */ + val k21: MutableSet = b(super).#c /*!! Set */ /*as MutableSet */ + b(super).#a = mutableListOf() + b(super).#b = LinkedList<@FlexibleNullability String?>() + b(super).#c = mutableSetOf() + val k22: MutableList = b.bar() /*!! List */ /*as MutableList */ + val k23: Queue = b.bar2() /*!! Queue */ + val k24: MutableSet = b.bar3() /*!! Set */ /*as MutableSet */ + b.foo(a = k19) + b.foo2(b = k20) + b.foo3(c = k21) + val k25: MutableList = c(super).#a /*!! List<@FlexibleNullability Any?> */ /*as MutableList */ + val k26: Queue = c(super).#b /*!! Queue<@FlexibleNullability Any?> */ + val k27: MutableSet = c(super).#c /*!! Set<@FlexibleNullability Any?> */ /*as MutableSet */ + c(super).#a = mutableListOf() + c(super).#b = LinkedList<@FlexibleNullability Any?>() + c(super).#c = mutableSetOf() + val k28: MutableList = c.bar() /*!! List<@FlexibleNullability Any?> */ /*as MutableList */ + val k29: Queue = c.bar2() /*!! Queue<@FlexibleNullability Any?> */ + val k30: MutableSet = c.bar3() /*!! Set<@FlexibleNullability Any?> */ /*as MutableSet */ + c.foo(a = k25) + c.foo2(b = k26) + c.foo3(c = k27) + val k31: MutableList = d.bar() + e.foo3(c = mutableSetOf(elements = [null, ""])) + val k32: Queue = f.bar2() + f.foo2(b = LinkedList<@FlexibleNullability Any?>()) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.sig.kt.txt new file mode 100644 index 00000000000..05e7fdda450 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.sig.kt.txt @@ -0,0 +1,297 @@ +// MODULE: separate +// MODULE: main +// FILE: 1.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.collections.MutableList? + // Public signature: /A.bar|-1114015493624990905[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}java.util.Queue? + // Public signature: /A.bar2|7437847745263997963[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: A#bar3(){}kotlin.collections.MutableSet? + // Public signature: /A.bar3|-4205007675771926308[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK: + // Mangled name: A#foo(kotlin.collections.MutableList?){} + // Public signature: /A.foo|-3600187289102144184[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: A#foo2(java.util.Queue?){} + // Public signature: /A.foo2|-7461544553437679205[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: A#foo3(kotlin.collections.MutableSet?){} + // Public signature: /A.foo3|-3648065388027807989[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.collections.MutableList? + // Public signature: /B.bar|-532532610006281669[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}java.util.Queue? + // Public signature: /B.bar2|4604700617113474853[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: B#bar3(){}kotlin.collections.MutableSet? + // Public signature: /B.bar3|6283002066374424935[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK: + // Mangled name: B#foo(kotlin.collections.MutableList?){} + // Public signature: /B.foo|-8611909410610206747[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: B#foo2(java.util.Queue?){} + // Public signature: /B.foo2|-5108692108404775133[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: B#foo3(kotlin.collections.MutableSet?){} + // Public signature: /B.foo3|8404233053073861266[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.collections.MutableList? + // Public signature: /C.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}java.util.Queue? + // Public signature: /C.bar2|3490070546405055194[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: C#bar3(){}kotlin.collections.MutableSet? + // Public signature: /C.bar3|6297049454789660059[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK: + // Mangled name: C#foo(kotlin.collections.MutableList?){} + // Public signature: /C.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: C#foo2(java.util.Queue?){} + // Public signature: /C.foo2|-767859885767539493[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: C#foo3(kotlin.collections.MutableSet?){} + // Public signature: /C.foo3|6303247791483976528[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#bar2(){}java.util.Queue? + // Public signature: /D.bar2|7437847745263997963[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK JVM_IR: + // Mangled name: D#bar3(){}kotlin.collections.MutableSet? + // Public signature: /D.bar3|-4205007675771926308[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK: + // Mangled name: D#foo2(java.util.Queue?){} + // Public signature: /D.foo2|-7461544553437679205[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK: + // Mangled name: D#foo3(kotlin.collections.MutableSet?){} + // Public signature: /D.foo3|-3648065388027807989[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + + // CHECK JVM_IR: + // Mangled name: D#bar(){}kotlin.collections.MutableList + // Public signature: /D.bar|5423197504340908737[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList + override fun bar(): MutableList + + // CHECK: + // Mangled name: D#foo(kotlin.collections.MutableList){} + // Public signature: /D.foo|-316185058744300957[0] + // Public signature debug description: foo(kotlin.collections.MutableList){} + override fun foo(a: MutableList): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: E#bar(){}kotlin.collections.MutableList? + // Public signature: /E.bar|-532532610006281669[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: E#bar2(){}java.util.Queue? + // Public signature: /E.bar2|4604700617113474853[0] + // Public signature debug description: bar2(){}java.util.Queue? + /* fake */ override fun bar2(): Queue? + + // CHECK: + // Mangled name: E#foo(kotlin.collections.MutableList?){} + // Public signature: /E.foo|-8611909410610206747[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: E#foo2(java.util.Queue?){} + // Public signature: /E.foo2|-5108692108404775133[0] + // Public signature debug description: foo2(java.util.Queue?){} + /* fake */ override fun foo2(b: Queue?): Unit + + // CHECK JVM_IR: + // Mangled name: E#bar3(){}kotlin.collections.MutableSet + // Public signature: /E.bar3|1204424212601169819[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet + override fun bar3(): MutableSet + + // CHECK: + // Mangled name: E#foo3(kotlin.collections.MutableSet){} + // Public signature: /E.foo3|3488251337363543115[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet){} + override fun foo3(c: MutableSet): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java1 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: F#bar(){}kotlin.collections.MutableList? + // Public signature: /F.bar|2549972836650137141[0] + // Public signature debug description: bar(){}kotlin.collections.MutableList? + /* fake */ override fun bar(): MutableList? + + // CHECK JVM_IR: + // Mangled name: F#bar3(){}kotlin.collections.MutableSet? + // Public signature: /F.bar3|6297049454789660059[0] + // Public signature debug description: bar3(){}kotlin.collections.MutableSet? + /* fake */ override fun bar3(): MutableSet? + + // CHECK: + // Mangled name: F#foo(kotlin.collections.MutableList?){} + // Public signature: /F.foo|1823979372554704958[0] + // Public signature debug description: foo(kotlin.collections.MutableList?){} + /* fake */ override fun foo(a: MutableList?): Unit + + // CHECK: + // Mangled name: F#foo3(kotlin.collections.MutableSet?){} + // Public signature: /F.foo3|6303247791483976528[0] + // Public signature debug description: foo3(kotlin.collections.MutableSet?){} + /* fake */ override fun foo3(c: MutableSet?): Unit + + // CHECK JVM_IR: + // Mangled name: F#bar2(){}java.util.Queue + // Public signature: /F.bar2|-8546892777182873351[0] + // Public signature debug description: bar2(){}java.util.Queue + override fun bar2(): Queue + + // CHECK: + // Mangled name: F#foo2(java.util.Queue?){} + // Public signature: /F.foo2|-3122019287109104582[0] + // Public signature debug description: foo2(java.util.Queue?){} + override fun foo2(b: Queue?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.ir.txt new file mode 100644 index 00000000000..043f0fe7312 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.ir.txt @@ -0,0 +1,426 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $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:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1, :@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] kotlin.Int? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int? declared in .C.' type=kotlin.Int? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int? declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Int? origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int? + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int? declared in .C.' type=kotlin.Int? origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int?) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int? + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int? declared in .D.' type=kotlin.Int? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int? declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Int? origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D, :kotlin.Int?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name: index:0 type:kotlin.Int? + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: GET_VAR ': kotlin.Int? declared in .D.' type=kotlin.Int? origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int?) returnType:.D [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int? + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A.A>, o:T of .A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:T of .A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + $this: VALUE_PARAMETER name: type:.A.A> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>, :T of .A) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name: index:0 type:T of .A + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3.KotlinInterface>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3.KotlinInterface>, o:@[FlexibleNullability] T of .KotlinInterface?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .KotlinInterface? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3.KotlinInterface>) returnType:@[FlexibleNullability] T of .KotlinInterface? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3.KotlinInterface> + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + BLOCK_BODY + VAR name:k type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k4 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [var] + CALL 'public open fun (): kotlin.Int? declared in .C' type=kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k7 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [var] + CALL 'public open fun (): kotlin.Int? declared in .D' type=kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k11 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k13 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k16 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k18 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k19 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k20 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k22 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k23 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.kt.txt new file mode 100644 index 00000000000..dd038a5d947 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.fir.kt.txt @@ -0,0 +1,136 @@ +abstract class B : Java1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1 { + override var a: Int? + field = a + override get + override set + + constructor(a: Int?) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class D : Java1 { + override var a: Int? + field = a + override get + override set + + constructor(a: Int?) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class F : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class G : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface A { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface : Java3 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + var k: Int = b.() /*!! Int */ + var k2: Int = b.foo() /*!! Int */ + var k3: Unit = b.bar(o = 1) + var k4: Unit = b.bar(o = null) + var k5: Int? = c.() + var k6: Int = c.foo() + var k7: Unit = c.bar(o = 1) + var k8: Unit = c.bar(o = null) + var k9: Int? = d.() + var k10: Int = d.foo() /*!! Int */ + var k11: Unit = d.bar(o = 1) + var k12: Int = e.foo() + var k13: Unit = e.bar(o = 1) + var k14: Unit = e.bar(o = null) + var k15: Int = f.foo() /*!! Int */ + var k16: Unit = f.bar(o = 1) + var k17: Unit = f.bar(o = null) + var k18: Int = g.foo() /*!! Int */ + var k19: Unit = g.bar(o = 1) + var k20: Unit = g.bar(o = null) + var k21: Int = h.foo() + var k22: Unit = h.bar(o = 1) + var k23: Unit = h.bar(o = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.ir.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.ir.txt new file mode 100644 index 00000000000..4419a7bdfaf --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.ir.txt @@ -0,0 +1,426 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $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:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] kotlin.Int?> + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>, :@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name: index:0 type:@[FlexibleNullability] kotlin.Int? + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int? declared in .C.' type=kotlin.Int? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int? declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Int? origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C, :kotlin.Int?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name: index:0 type:kotlin.Int? + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + value: GET_VAR ': kotlin.Int? declared in .C.' type=kotlin.Int? origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int?) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int? + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.C, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .C' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract a: @[FlexibleNullability] T of .Java1? + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private + EXPRESSION_BODY + GET_VAR 'a: kotlin.Int? declared in .D.' type=kotlin.Int? origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Int? + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int? declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Int? origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.D, :kotlin.Int?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [var] + overridden: + public abstract fun (: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name: index:0 type:kotlin.Int? + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int? visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + value: GET_VAR ': kotlin.Int? declared in .D.' type=kotlin.Int? origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Int?) returnType:.D [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Int? + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A<@[FlexibleNullability] 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.D, o:kotlin.Int) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:o index:0 type:kotlin.Int + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.E, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java2? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.Java4]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>, o:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] kotlin.Int?> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] kotlin.Int? + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3<@[FlexibleNullability] kotlin.Int?>) returnType:@[FlexibleNullability] kotlin.Int? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3<@[FlexibleNullability] 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:OPEN <> ($this:.H, o:kotlin.Int?) returnType:kotlin.Unit + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java4?): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + VALUE_PARAMETER name:o index:0 type:kotlin.Int? + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java4? declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A.A>, o:T of .A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name:o index:0 type:T of .A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + $this: VALUE_PARAMETER name: type:.A.A> + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>) returnType:T of .A + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A.A>, :T of .A) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.A.A> + VALUE_PARAMETER name: index:0 type:T of .A + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[.Java3.KotlinInterface>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.Java3.KotlinInterface>, o:@[FlexibleNullability] T of .KotlinInterface?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun bar (o: @[FlexibleNullability] T of .Java3?): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:@[FlexibleNullability] T of .KotlinInterface? + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java3.KotlinInterface>) returnType:@[FlexibleNullability] T of .KotlinInterface? [fake_override] + overridden: + public abstract fun foo (): @[FlexibleNullability] T of .Java3? declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3.KotlinInterface> + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:e index:3 type:.E + VALUE_PARAMETER name:f index:4 type:.F + VALUE_PARAMETER name:g index:5 type:.G + VALUE_PARAMETER name:h index:6 type:.H + BLOCK_BODY + VAR name:k type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k2 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .B' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k4 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k5 type:kotlin.Int? [var] + CALL 'public open fun (): kotlin.Int? declared in .C' type=kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k6 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .C' type=kotlin.Int origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k7 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k8 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k9 type:kotlin.Int? [var] + CALL 'public open fun (): kotlin.Int? declared in .D' type=kotlin.Int? origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k10 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .D' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + VAR name:k11 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k12 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .E' type=kotlin.Int origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + VAR name:k13 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k14 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k15 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .F' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + VAR name:k16 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k17 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k18 type:kotlin.Int [var] + TYPE_OP type=kotlin.Int origin=IMPLICIT_NOTNULL typeOperand=kotlin.Int + CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.Int? declared in .G' type=@[FlexibleNullability] kotlin.Int? origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + VAR name:k19 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k20 type:kotlin.Unit [var] + CALL 'public abstract fun bar (o: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k21 type:kotlin.Int [var] + CALL 'public open fun foo (): kotlin.Int declared in .H' type=kotlin.Int origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + VAR name:k22 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Int type=kotlin.Int value=1 + VAR name:k23 type:kotlin.Unit [var] + CALL 'public open fun bar (o: kotlin.Int?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + o: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt new file mode 100644 index 00000000000..8d5f2dac37c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt @@ -0,0 +1,89 @@ +// TARGET_BACKEND: JVM +// FULL_JDK + +// FILE: Java1.java + +public interface Java1 extends A { } + +// FILE: Java2.java +public interface Java2 extends Java3{ } + +// FILE: Java3.java + +public interface Java3 { + public T foo(); + public void bar(T o); +} + +// FILE: Java4.java + +public interface Java4 extends KotlinInterface { } + +// FILE: 1.kt + +interface A { + var a: T; + fun foo(): T; + fun bar(o: T); +} + +abstract class B : Java1 //Kotlin ← Java ← Kotlin + +class C(override var a: Int?) : Java1 { //Kotlin ← Java ← Kotlin with explicit override + override fun bar(o: Int?) { } + + override fun foo(): Int { + return 1 + } +} + +abstract class D(override var a: Int?) : Java1 { //Kotlin ← Java ← Kotlin with explicit override (not null type) + override fun bar(o: Int) { } +} + +class E : Java2 { // Kotlin ← Java1 ← Java2 with explicit override + override fun foo(): Int { + return 1 + } + override fun bar(o: Int?) { } +} + +abstract class F : Java2 // Kotlin ← Java1 ←Java2 + +abstract class G : Java4 // Kotlin ← Java ← Kotlin ← Java + +class H : Java4 { // Kotlin ← Java ← Kotlin ← Java with explicit override + override fun foo(): Int { + return 1 + } + + override fun bar(o: Int?) { } +} + +interface KotlinInterface : Java3 + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + var k: Int = b.a + var k2: Int = b.foo() + var k3: Unit = b.bar(1) + var k4: Unit = b.bar(null) + var k5: Int? = c.a + var k6: Int = c.foo() + var k7: Unit = c.bar(1) + var k8: Unit = c.bar(null) + var k9: Int? = d.a + var k10: Int = d.foo() + var k11: Unit = d.bar(1) + var k12: Int = e.foo() + var k13: Unit = e.bar(1) + var k14: Unit = e.bar(null) + var k15: Int = f.foo() + var k16: Unit = f.bar(1) + var k17: Unit = f.bar(null) + var k18: Int = g.foo() + var k19: Unit = g.bar(1) + var k20: Unit = g.bar(null) + var k21: Int = h.foo() + var k22: Unit = h.bar(1) + var k23: Unit = h.bar(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt.txt new file mode 100644 index 00000000000..dd038a5d947 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt.txt @@ -0,0 +1,136 @@ +abstract class B : Java1 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : Java1 { + override var a: Int? + field = a + override get + override set + + constructor(a: Int?) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class D : Java1 { + override var a: Int? + field = a + override get + override set + + constructor(a: Int?) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int) { + } + +} + +class E : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +abstract class F : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class G : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar(o: Int?) { + } + + override fun foo(): Int { + return 1 + } + +} + +interface A { + abstract fun bar(o: T) + + abstract fun foo(): T + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface : Java3 { +} + +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + var k: Int = b.() /*!! Int */ + var k2: Int = b.foo() /*!! Int */ + var k3: Unit = b.bar(o = 1) + var k4: Unit = b.bar(o = null) + var k5: Int? = c.() + var k6: Int = c.foo() + var k7: Unit = c.bar(o = 1) + var k8: Unit = c.bar(o = null) + var k9: Int? = d.() + var k10: Int = d.foo() /*!! Int */ + var k11: Unit = d.bar(o = 1) + var k12: Int = e.foo() + var k13: Unit = e.bar(o = 1) + var k14: Unit = e.bar(o = null) + var k15: Int = f.foo() /*!! Int */ + var k16: Unit = f.bar(o = 1) + var k17: Unit = f.bar(o = null) + var k18: Int = g.foo() /*!! Int */ + var k19: Unit = g.bar(o = 1) + var k20: Unit = g.bar(o = null) + var k21: Int = h.foo() + var k22: Unit = h.bar(o = 1) + var k23: Unit = h.bar(o = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.sig.kt.txt new file mode 100644 index 00000000000..fc036fe6440 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.sig.kt.txt @@ -0,0 +1,273 @@ +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#bar(kotlin.Int?){} + // Public signature: /B.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + abstract /* fake */ override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: B#foo(){}kotlin.Int? + // Public signature: /B.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Int? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int? + // Public signature: /B.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + abstract /* fake */ override get(): Int? + // CHECK: + // Mangled name: B#(kotlin.Int?){} + // Public signature: /B.a.|2647302406012856704[0] + // Public signature debug description: (kotlin.Int?){} + abstract /* fake */ override set(: Int?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int? + // Public signature: /C.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + override get + // CHECK: + // Mangled name: C#(kotlin.Int?){} + // Public signature: /C.a.|2647302406012856704[0] + // Public signature debug description: (kotlin.Int?){} + override set + + // CHECK: + // Mangled name: C#(kotlin.Int?){} + // Public signature: /C.|4997534145603685700[0] + // Public signature debug description: (kotlin.Int?){} + constructor(a: Int?) /* primary */ + + // CHECK: + // Mangled name: C#bar(kotlin.Int?){} + // Public signature: /C.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: C#foo(){}kotlin.Int + // Public signature: /C.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : Java1 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + override var a: Int? + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int? + // Public signature: /D.a.|8626555410289046118[0] + // Public signature debug description: (){}kotlin.Int? + override get + // CHECK: + // Mangled name: D#(kotlin.Int?){} + // Public signature: /D.a.|2647302406012856704[0] + // Public signature debug description: (kotlin.Int?){} + override set + + // CHECK: + // Mangled name: D#(kotlin.Int?){} + // Public signature: /D.|4997534145603685700[0] + // Public signature debug description: (kotlin.Int?){} + constructor(a: Int?) /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#foo(){}kotlin.Int? + // Public signature: /D.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + + // CHECK: + // Mangled name: D#bar(kotlin.Int){} + // Public signature: /D.bar|-6662241134515685168[0] + // Public signature debug description: bar(kotlin.Int){} + override fun bar(o: Int): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#bar(kotlin.Int?){} + // Public signature: /E.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: E#foo(){}kotlin.Int + // Public signature: /E.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +abstract class F : Java2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#bar(kotlin.Int?){} + // Public signature: /F.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + abstract /* fake */ override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: F#foo(){}kotlin.Int? + // Public signature: /F.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#bar(kotlin.Int?){} + // Public signature: /G.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + abstract /* fake */ override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: G#foo(){}kotlin.Int? + // Public signature: /G.foo|4386114666656259650[0] + // Public signature debug description: foo(){}kotlin.Int? + abstract /* fake */ override fun foo(): Int? + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#bar(kotlin.Int?){} + // Public signature: /H.bar|-1079723147832234082[0] + // Public signature debug description: bar(kotlin.Int?){} + override fun bar(o: Int?): Unit + + // CHECK JVM_IR: + // Mangled name: H#foo(){}kotlin.Int + // Public signature: /H.foo|-1256155405684507276[0] + // Public signature debug description: foo(){}kotlin.Int + override fun foo(): Int + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A { + // CHECK: + // Mangled name: A#bar(1:0){} + // Public signature: /A.bar|-7393952686038474037[0] + // Public signature debug description: bar(1:0){} + abstract fun bar(o: T): Unit + + // CHECK JVM_IR: + // Mangled name: A#foo(){}1:0 + // Public signature: /A.foo|-5478580208809996038[0] + // Public signature debug description: foo(){}1:0 + abstract fun foo(): T + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: A#(){}1:0 + // Public signature: /A.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: A#(1:0){} + // Public signature: /A.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface : Java3 { + // CHECK: + // Mangled name: KotlinInterface#bar(1:0?){} + // Public signature: /KotlinInterface.bar|-4479564251750439867[0] + // Public signature debug description: bar(1:0?){} + abstract /* fake */ override fun bar(o: T?): Unit + + // CHECK JVM_IR: + // Mangled name: KotlinInterface#foo(){}1:0? + // Public signature: /KotlinInterface.foo|-1179576840814333363[0] + // Public signature debug description: foo(){}1:0? + abstract /* fake */ override fun foo(): T? + +} + +// CHECK: +// Mangled name: #test(B;C;D;E;F;G;H){} +// Public signature: /test|-39077339314941402[0] +// Public signature debug description: test(B;C;D;E;F;G;H){} +fun test(b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.ir.txt new file mode 100644 index 00000000000..7527c4f62d8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.ir.txt @@ -0,0 +1,248 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Nothing + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Nothing visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Nothing declared in .C.' type=kotlin.Nothing origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Nothing + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Nothing declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Nothing visibility:private [final]' type=kotlin.Nothing origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.collections.List + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.collections.List visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.collections.List declared in .C.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.collections.List visibility:private [final]' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Nothing, b:kotlin.collections.List) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + VALUE_PARAMETER name:b index:1 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing [fake_override] + overridden: + public abstract fun bar (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Nothing? + overridden: + public abstract fun bar2 (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.Nothing? declared in .C' + CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Nothing) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Nothing? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing + $this: VALUE_PARAMETER name: type:.A + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? + $this: VALUE_PARAMETER name: type:.A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:c visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:d visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:d visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing [fake_override] + overridden: + public abstract fun bar (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? [fake_override] + overridden: + public abstract fun bar2 (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Nothing + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Nothing [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Nothing? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.Java1) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + VAR name:k type:kotlin.Nothing [val] + CALL 'public abstract fun (): kotlin.Nothing declared in .B' type=kotlin.Nothing origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k2 type:kotlin.Nothing [val] + CALL 'public abstract fun bar (): kotlin.Nothing declared in .B' type=kotlin.Nothing origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .B' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k4: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k5 type:kotlin.Nothing? [val] + CALL 'public abstract fun bar2 (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .B' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.Nothing [val] + CALL 'public open fun (): kotlin.Nothing declared in .C' type=kotlin.Nothing origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Nothing): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k8 type:kotlin.Nothing [val] + CALL 'public abstract fun bar (): kotlin.Nothing declared in .C' type=kotlin.Nothing origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.collections.List [val] + CALL 'public open fun (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .C' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k4: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k11 type:kotlin.Nothing? [val] + CALL 'public open fun bar2 (): kotlin.Nothing? declared in .C' type=kotlin.Nothing? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.kt.txt new file mode 100644 index 00000000000..f36f03de797 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.fir.kt.txt @@ -0,0 +1,68 @@ +abstract class C : Java1 { + override val a: Nothing + field = a + override get + + override val b: List + field = b + override get + + constructor(a: Nothing, b: List) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar2(): Nothing? { + return null + } + + override fun foo(a: Nothing) { + } + +} + +interface A { + abstract fun bar(): Nothing + + abstract fun bar2(): Nothing? + + abstract fun foo(a: Nothing) + + abstract fun foo2(a: Nothing?) + + abstract val a: Nothing + abstract get + + abstract val b: List + abstract get + + abstract val c: Nothing? + abstract get + + abstract val d: List + abstract get + +} + +interface B : Java1 { +} + +fun test(b: B, c: C) { + val k: Nothing = b.() + b.foo(a = k) + val k2: Nothing = b.bar() + val k3: List = b.() + val k4: Nothing? = b.() + b.foo2(a = k4) + val k5: Nothing? = b.bar2() + val k6: List = b.() + val k7: Nothing = c.() + c.foo(a = k) + val k8: Nothing = c.bar() + val k9: List = c.() + val k10: Nothing? = c.() + c.foo2(a = k4) + val k11: Nothing? = c.bar2() + val k12: List = c.() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.ir.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.ir.txt new file mode 100644 index 00000000000..3a37472e4bd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.ir.txt @@ -0,0 +1,248 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract a: kotlin.Nothing + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Nothing visibility:private [final] + EXPRESSION_BODY + GET_VAR 'a: kotlin.Nothing declared in .C.' type=kotlin.Nothing origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Nothing + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Nothing declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Nothing visibility:private [final]' type=kotlin.Nothing origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract b: kotlin.collections.List + FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.collections.List visibility:private [final] + EXPRESSION_BODY + GET_VAR 'b: kotlin.collections.List declared in .C.' type=kotlin.collections.List origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:b visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.collections.List declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:kotlin.collections.List visibility:private [final]' type=kotlin.collections.List origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> (a:kotlin.Nothing, b:kotlin.collections.List) returnType:.C [primary] + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + VALUE_PARAMETER name:b index:1 type:kotlin.collections.List + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing [fake_override] + overridden: + public abstract fun bar (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Nothing? + overridden: + public abstract fun bar2 (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun bar2 (): kotlin.Nothing? declared in .C' + CONST Null type=kotlin.Nothing? value=null + FUN name:foo visibility:public modality:OPEN <> ($this:.C, a:kotlin.Nothing) returnType:kotlin.Unit + overridden: + public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.C + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Nothing? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing + $this: VALUE_PARAMETER name: type:.A + FUN name:bar2 visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? + $this: VALUE_PARAMETER name: type:.A + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + FUN name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + PROPERTY name:a visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:b visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:b visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:c visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? + correspondingProperty: PROPERTY name:c visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + PROPERTY name:d visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List + correspondingProperty: PROPERTY name:d visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.A + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing [fake_override] + overridden: + public abstract fun bar (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN FAKE_OVERRIDE name:bar2 visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? [fake_override] + overridden: + public abstract fun bar2 (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing + FUN FAKE_OVERRIDE name:foo2 visibility:public modality:ABSTRACT <> ($this:.A, a:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name:a index:0 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract a: kotlin.Nothing + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract b: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract c: kotlin.Nothing? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.Nothing? declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract d: kotlin.collections.List + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.A) returnType:kotlin.collections.List [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:d visibility:public modality:ABSTRACT [fake_override,val] + overridden: + public abstract fun (): kotlin.collections.List declared in .Java1 + $this: VALUE_PARAMETER name: type:.A + FUN name:test visibility:public modality:FINAL <> (b:.B, c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + VALUE_PARAMETER name:c index:1 type:.C + BLOCK_BODY + VAR name:k type:kotlin.Nothing [val] + CALL 'public abstract fun (): kotlin.Nothing declared in .B' type=kotlin.Nothing origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (a: kotlin.Nothing): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k2 type:kotlin.Nothing [val] + CALL 'public abstract fun bar (): kotlin.Nothing declared in .B' type=kotlin.Nothing origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k3 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .B' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k4 type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: GET_VAR 'val k4: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k5 type:kotlin.Nothing? [val] + CALL 'public abstract fun bar2 (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .B' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k7 type:kotlin.Nothing [val] + CALL 'public open fun (): kotlin.Nothing declared in .C' type=kotlin.Nothing origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (a: kotlin.Nothing): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k8 type:kotlin.Nothing [val] + CALL 'public abstract fun bar (): kotlin.Nothing declared in .C' type=kotlin.Nothing origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k9 type:kotlin.collections.List [val] + CALL 'public open fun (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k10 type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .C' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo2 (a: kotlin.Nothing?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: GET_VAR 'val k4: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k11 type:kotlin.Nothing? [val] + CALL 'public open fun bar2 (): kotlin.Nothing? declared in .C' type=kotlin.Nothing? origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + VAR name:k12 type:kotlin.collections.List [val] + CALL 'public abstract fun (): kotlin.collections.List declared in .C' type=kotlin.collections.List origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt new file mode 100644 index 00000000000..b9a00740374 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt @@ -0,0 +1,55 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public interface Java1 extends A { } + + +// FILE: 1.kt +interface A { + val a : Nothing + val b: List + fun foo(a: Nothing) + fun bar(): Nothing + + val c: Nothing? + val d: List + fun foo2(a: Nothing?) + fun bar2(): Nothing? +} + +interface B : Java1 + +abstract class C( + override val a: Nothing, + override val b: List +) : Java1 { + override fun bar2(): Nothing? { + return null + } + + override fun foo(a: Nothing) {} + +} + +fun test(b: B, c: C) { + val k: Nothing = b.a + b.foo(k) + val k2: Nothing = b.bar() + val k3: List = b.b + + val k4: Nothing? = b.c + b.foo2(k4) + val k5: Nothing? = b.bar2() + val k6: List = b.d + + + val k7: Nothing = c.a + c.foo(k) + val k8: Nothing = c.bar() + val k9: List = c.b + + val k10: Nothing? = c.c + c.foo2(k4) + val k11: Nothing? = c.bar2() + val k12: List = c.d +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt.txt new file mode 100644 index 00000000000..f36f03de797 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt.txt @@ -0,0 +1,68 @@ +abstract class C : Java1 { + override val a: Nothing + field = a + override get + + override val b: List + field = b + override get + + constructor(a: Nothing, b: List) /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun bar2(): Nothing? { + return null + } + + override fun foo(a: Nothing) { + } + +} + +interface A { + abstract fun bar(): Nothing + + abstract fun bar2(): Nothing? + + abstract fun foo(a: Nothing) + + abstract fun foo2(a: Nothing?) + + abstract val a: Nothing + abstract get + + abstract val b: List + abstract get + + abstract val c: Nothing? + abstract get + + abstract val d: List + abstract get + +} + +interface B : Java1 { +} + +fun test(b: B, c: C) { + val k: Nothing = b.() + b.foo(a = k) + val k2: Nothing = b.bar() + val k3: List = b.() + val k4: Nothing? = b.() + b.foo2(a = k4) + val k5: Nothing? = b.bar2() + val k6: List = b.() + val k7: Nothing = c.() + c.foo(a = k) + val k8: Nothing = c.bar() + val k9: List = c.() + val k10: Nothing? = c.() + c.foo2(a = k4) + val k11: Nothing? = c.bar2() + val k12: List = c.() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.sig.kt.txt new file mode 100644 index 00000000000..646e8b62a8c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.sig.kt.txt @@ -0,0 +1,233 @@ +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java1 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Nothing + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Nothing + // Public signature: /C.a.|4319439694118955860[0] + // Public signature debug description: (){}kotlin.Nothing + override get + + // CHECK: + // Mangled name: C{}b + // Public signature: /C.b|772347207915745207[0] + // Public signature debug description: {}b + override val b: List + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.List + // Public signature: /C.b.|-1648356554135643667[0] + // Public signature debug description: (){}kotlin.collections.List + override get + + // CHECK: + // Mangled name: C#(kotlin.Nothing;kotlin.collections.List){} + // Public signature: /C.|6759209538468804035[0] + // Public signature debug description: (kotlin.Nothing;kotlin.collections.List){} + constructor(a: Nothing, b: List) /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#bar(){}kotlin.Nothing + // Public signature: /C.bar|3887581129090086109[0] + // Public signature debug description: bar(){}kotlin.Nothing + abstract /* fake */ override fun bar(): Nothing + + // CHECK: + // Mangled name: C#foo2(kotlin.Nothing?){} + // Public signature: /C.foo2|-6914795168032430810[0] + // Public signature debug description: foo2(kotlin.Nothing?){} + abstract /* fake */ override fun foo2(a: Nothing?): Unit + + // CHECK JVM_IR: + // Mangled name: C#bar2(){}kotlin.Nothing? + // Public signature: /C.bar2|-1196997204430415158[0] + // Public signature debug description: bar2(){}kotlin.Nothing? + override fun bar2(): Nothing? + + // CHECK: + // Mangled name: C#foo(kotlin.Nothing){} + // Public signature: /C.foo|7864991580836937806[0] + // Public signature debug description: foo(kotlin.Nothing){} + override fun foo(a: Nothing): Unit + + // CHECK: + // Mangled name: C{}c + // Public signature: /C.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract /* fake */ override val c: Nothing? + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Nothing? + // Public signature: /C.c.|1602906851023755874[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract /* fake */ override get(): Nothing? + + // CHECK: + // Mangled name: C{}d + // Public signature: /C.d|5174763769109925331[0] + // Public signature debug description: {}d + abstract /* fake */ override val d: List + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.collections.List + // Public signature: /C.d.|3359948309068993582[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + +} + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A { + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Nothing + // Public signature: /A.bar|3887581129090086109[0] + // Public signature debug description: bar(){}kotlin.Nothing + abstract fun bar(): Nothing + + // CHECK JVM_IR: + // Mangled name: A#bar2(){}kotlin.Nothing? + // Public signature: /A.bar2|-1196997204430415158[0] + // Public signature debug description: bar2(){}kotlin.Nothing? + abstract fun bar2(): Nothing? + + // CHECK: + // Mangled name: A#foo(kotlin.Nothing){} + // Public signature: /A.foo|7864991580836937806[0] + // Public signature debug description: foo(kotlin.Nothing){} + abstract fun foo(a: Nothing): Unit + + // CHECK: + // Mangled name: A#foo2(kotlin.Nothing?){} + // Public signature: /A.foo2|-6914795168032430810[0] + // Public signature debug description: foo2(kotlin.Nothing?){} + abstract fun foo2(a: Nothing?): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract val a: Nothing + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Nothing + // Public signature: /A.a.|4319439694118955860[0] + // Public signature debug description: (){}kotlin.Nothing + abstract get + + // CHECK: + // Mangled name: A{}b + // Public signature: /A.b|772347207915745207[0] + // Public signature debug description: {}b + abstract val b: List + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.List + // Public signature: /A.b.|-1648356554135643667[0] + // Public signature debug description: (){}kotlin.collections.List + abstract get + + // CHECK: + // Mangled name: A{}c + // Public signature: /A.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract val c: Nothing? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Nothing? + // Public signature: /A.c.|1602906851023755874[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract get + + // CHECK: + // Mangled name: A{}d + // Public signature: /A.d|5174763769109925331[0] + // Public signature debug description: {}d + abstract val d: List + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.collections.List + // Public signature: /A.d.|3359948309068993582[0] + // Public signature debug description: (){}kotlin.collections.List + abstract get + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +interface B : Java1 { + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Nothing + // Public signature: /B.bar|3887581129090086109[0] + // Public signature debug description: bar(){}kotlin.Nothing + abstract /* fake */ override fun bar(): Nothing + + // CHECK JVM_IR: + // Mangled name: B#bar2(){}kotlin.Nothing? + // Public signature: /B.bar2|-1196997204430415158[0] + // Public signature debug description: bar2(){}kotlin.Nothing? + abstract /* fake */ override fun bar2(): Nothing? + + // CHECK: + // Mangled name: B#foo(kotlin.Nothing){} + // Public signature: /B.foo|7864991580836937806[0] + // Public signature debug description: foo(kotlin.Nothing){} + abstract /* fake */ override fun foo(a: Nothing): Unit + + // CHECK: + // Mangled name: B#foo2(kotlin.Nothing?){} + // Public signature: /B.foo2|-6914795168032430810[0] + // Public signature debug description: foo2(kotlin.Nothing?){} + abstract /* fake */ override fun foo2(a: Nothing?): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override val a: Nothing + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Nothing + // Public signature: /B.a.|4319439694118955860[0] + // Public signature debug description: (){}kotlin.Nothing + abstract /* fake */ override get(): Nothing + + // CHECK: + // Mangled name: B{}b + // Public signature: /B.b|772347207915745207[0] + // Public signature debug description: {}b + abstract /* fake */ override val b: List + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.List + // Public signature: /B.b.|-1648356554135643667[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + + // CHECK: + // Mangled name: B{}c + // Public signature: /B.c|-4416962153448040627[0] + // Public signature debug description: {}c + abstract /* fake */ override val c: Nothing? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Nothing? + // Public signature: /B.c.|1602906851023755874[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract /* fake */ override get(): Nothing? + + // CHECK: + // Mangled name: B{}d + // Public signature: /B.d|5174763769109925331[0] + // Public signature debug description: {}d + abstract /* fake */ override val d: List + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.collections.List + // Public signature: /B.d.|3359948309068993582[0] + // Public signature debug description: (){}kotlin.collections.List + abstract /* fake */ override get(): List + +} + +// CHECK: +// Mangled name: #test(B;C){} +// Public signature: /test|-6359441584037827810[0] +// Public signature debug description: test(B;C){} +fun test(b: B, c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.ir.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.ir.txt new file mode 100644 index 00000000000..bc768bdd75d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.ir.txt @@ -0,0 +1,178 @@ +FILE fqName: fileName:/1.kt + CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[.KotlinInterface; .Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Nothing? [fake_override] + overridden: + public abstract fun bar (): T of .KotlinInterface declared in .KotlinInterface + public abstract fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + 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 .KotlinInterface + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, o:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (o: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + public abstract fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:o index:0 type:kotlin.Nothing? + 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 .KotlinInterface + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .KotlinInterface + public open fun toString (): kotlin.String declared in .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: T of .KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): T of .KotlinInterface declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, :kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name: index:0 type:kotlin.Nothing? + CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + FUN FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Nothing? [fake_override] + overridden: + public abstract fun bar (): kotlin.Nothing? declared in .KotlinInterface2 + public abstract fun bar (): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + 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 .KotlinInterface2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, t:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (t: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (o: kotlin.Nothing?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Nothing? + 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 .KotlinInterface2 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .KotlinInterface2 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract a: kotlin.Nothing? + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Nothing? [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (): kotlin.Nothing? declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:ABSTRACT [fake_override,var] + overridden: + public abstract fun (: kotlin.Nothing?): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Nothing? + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, o:T of .KotlinInterface) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:o index:0 type:T of .KotlinInterface + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>) returnType:T of .KotlinInterface + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, :T of .KotlinInterface) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name: index:0 type:T of .KotlinInterface + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:bar visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Nothing? + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, o:kotlin.Nothing?) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name:o index:0 type:kotlin.Nothing? + PROPERTY name:a visibility:public modality:ABSTRACT [var] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2) returnType:kotlin.Nothing? + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.KotlinInterface2, :kotlin.Nothing?) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a visibility:public modality:ABSTRACT [var] + $this: VALUE_PARAMETER name: type:.KotlinInterface2 + VALUE_PARAMETER name: index:0 type:kotlin.Nothing? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .A' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Unit [val] + CALL 'public abstract fun foo (o: kotlin.Nothing?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: GET_VAR 'val k: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k3 type:kotlin.Nothing? [val] + CALL 'public abstract fun bar (): kotlin.Nothing? declared in .A' type=kotlin.Nothing? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (o: kotlin.Nothing?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + o: CONST Null type=kotlin.Nothing? value=null + VAR name:k4 type:kotlin.Nothing? [val] + CALL 'public abstract fun (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Unit [val] + CALL 'public abstract fun foo (o: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: GET_VAR 'val k: kotlin.Nothing? declared in .test' type=kotlin.Nothing? origin=null + VAR name:k6 type:kotlin.Nothing? [val] + CALL 'public abstract fun bar (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (o: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + o: CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt new file mode 100644 index 00000000000..3cd70771c83 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt @@ -0,0 +1,46 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public interface Java1 { + public void foo(T t); + public T bar(); +} + +// FILE: Java2.java + +public interface Java2 { + public void foo(Object t); + + public Object bar(); +} + +// FILE: 1.kt +interface A : KotlinInterface, Java1 + +interface B: KotlinInterface2, Java2 + +interface KotlinInterface { + var a: T + fun foo(o: T) + fun bar(): T +} + +interface KotlinInterface2 { + var a: Nothing? + fun foo(o: Nothing?) + fun bar(): Nothing? +} + +fun test(a: A, b: B) { + val k: Nothing? = a.a + val k2: Unit = a.foo(k) + val k3: Nothing? = a.bar() + a.foo(null) + + val k4: Nothing? = b.a + val k5: Unit = b.foo(k) + val k6: Nothing? = b.bar() + b.foo(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt.txt new file mode 100644 index 00000000000..3a2414b06d4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt.txt @@ -0,0 +1,38 @@ +interface A : Java1, KotlinInterface { +} + +interface B : Java2, KotlinInterface2 { +} + +interface KotlinInterface { + abstract fun bar(): T + + abstract fun foo(o: T) + + abstract var a: T + abstract get + abstract set + +} + +interface KotlinInterface2 { + abstract fun bar(): Nothing? + + abstract fun foo(o: Nothing?) + + abstract var a: Nothing? + abstract get + abstract set + +} + +fun test(a: A, b: B) { + val k: Nothing? = a.() + val k2: Unit = a.foo(o = k) + val k3: Nothing? = a.bar() + a.foo(o = null) + val k4: Nothing? = b.() + val k5: Unit = b.foo(o = k) + val k6: Nothing? = b.bar() + b.foo(o = null) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.sig.kt.txt new file mode 100644 index 00000000000..4cb8f79a9a6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.sig.kt.txt @@ -0,0 +1,147 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +interface A : Java1, KotlinInterface { + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Nothing? + // Public signature: /A.bar|3558363943026565141[0] + // Public signature debug description: bar(){}kotlin.Nothing? + abstract /* fake */ override fun bar(): Nothing? + + // CHECK: + // Mangled name: A#foo(kotlin.Nothing?){} + // Public signature: /A.foo|-6013379405170320929[0] + // Public signature debug description: foo(kotlin.Nothing?){} + abstract /* fake */ override fun foo(o: Nothing?): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Nothing? + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Nothing? + // Public signature: /A.a.|5061168338035373945[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract /* fake */ override get(): Nothing? + // CHECK: + // Mangled name: A#(kotlin.Nothing?){} + // Public signature: /A.a.|-5391875051776279009[0] + // Public signature debug description: (kotlin.Nothing?){} + abstract /* fake */ override set(: Nothing?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +interface B : Java2, KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Nothing? + // Public signature: /B.bar|3558363943026565141[0] + // Public signature debug description: bar(){}kotlin.Nothing? + abstract /* fake */ override fun bar(): Nothing? + + // CHECK: + // Mangled name: B#foo(kotlin.Any?){} + // Public signature: /B.foo|-6211124056249407422[0] + // Public signature debug description: foo(kotlin.Any?){} + abstract /* fake */ override fun foo(t: Any?): Unit + + // CHECK: + // Mangled name: B#foo(kotlin.Nothing?){} + // Public signature: /B.foo|-6013379405170320929[0] + // Public signature debug description: foo(kotlin.Nothing?){} + abstract /* fake */ override fun foo(o: Nothing?): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract /* fake */ override var a: Nothing? + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Nothing? + // Public signature: /B.a.|5061168338035373945[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract /* fake */ override get(): Nothing? + // CHECK: + // Mangled name: B#(kotlin.Nothing?){} + // Public signature: /B.a.|-5391875051776279009[0] + // Public signature debug description: (kotlin.Nothing?){} + abstract /* fake */ override set(: Nothing?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK JVM_IR: + // Mangled name: KotlinInterface#bar(){}1:0 + // Public signature: /KotlinInterface.bar|-6476965473155069157[0] + // Public signature debug description: bar(){}1:0 + abstract fun bar(): T + + // CHECK: + // Mangled name: KotlinInterface#foo(1:0){} + // Public signature: /KotlinInterface.foo|-701456291278879981[0] + // Public signature debug description: foo(1:0){} + abstract fun foo(o: T): Unit + + // CHECK: + // Mangled name: KotlinInterface{}a + // Public signature: /KotlinInterface.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: T + // CHECK JVM_IR: + // Mangled name: KotlinInterface#(){}1:0 + // Public signature: /KotlinInterface.a.|5765441560292063424[0] + // Public signature debug description: (){}1:0 + abstract get + // CHECK: + // Mangled name: KotlinInterface#(1:0){} + // Public signature: /KotlinInterface.a.|3804696573885127852[0] + // Public signature debug description: (1:0){} + abstract set + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 { + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#bar(){}kotlin.Nothing? + // Public signature: /KotlinInterface2.bar|3558363943026565141[0] + // Public signature debug description: bar(){}kotlin.Nothing? + abstract fun bar(): Nothing? + + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.Nothing?){} + // Public signature: /KotlinInterface2.foo|-6013379405170320929[0] + // Public signature debug description: foo(kotlin.Nothing?){} + abstract fun foo(o: Nothing?): Unit + + // CHECK: + // Mangled name: KotlinInterface2{}a + // Public signature: /KotlinInterface2.a|-1200697420457237799[0] + // Public signature debug description: {}a + abstract var a: Nothing? + // CHECK JVM_IR: + // Mangled name: KotlinInterface2#(){}kotlin.Nothing? + // Public signature: /KotlinInterface2.a.|5061168338035373945[0] + // Public signature debug description: (){}kotlin.Nothing? + abstract get + // CHECK: + // Mangled name: KotlinInterface2#(kotlin.Nothing?){} + // Public signature: /KotlinInterface2.a.|-5391875051776279009[0] + // Public signature debug description: (kotlin.Nothing?){} + abstract set + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.ir.txt new file mode 100644 index 00000000000..df56a2f1829 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.ir.txt @@ -0,0 +1,85 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Nothing + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Nothing? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:@[FlexibleNullability] kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Nothing? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Nothing? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:@[FlexibleNullability] kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java1? visibility:public' type=@[FlexibleNullability] kotlin.Nothing? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Nothing? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Nothing?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k4 type:kotlin.Nothing? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java1? visibility:public' type=@[FlexibleNullability] kotlin.Nothing? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Nothing? [val] + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Nothing? declared in .B' type=@[FlexibleNullability] kotlin.Nothing? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.kt.txt new file mode 100644 index 00000000000..cf7c53b26a4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.fir.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +fun test(a: A, b: B) { + val k: Nothing = a.#a /*!! Nothing */ + val k2: Nothing = a.bar() /*!! Nothing */ + val k3: Unit = a.foo(t = k) + val k4: Nothing? = b.#a + val k5: Nothing? = b.bar() + val k6: Unit = b.foo(t = k) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.ir.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.ir.txt new file mode 100644 index 00000000000..26e691f5304 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.ir.txt @@ -0,0 +1,91 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Nothing? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:@[FlexibleNullability] kotlin.Nothing? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:@[FlexibleNullability] kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:@[FlexibleNullability] kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java1? + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Nothing? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + FUN FAKE_OVERRIDE name:bar visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Nothing? [fake_override] + overridden: + public open fun bar (): @[FlexibleNullability] T of .Java1? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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:.Java1, t:kotlin.Nothing?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (t: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:t index:0 type:kotlin.Nothing? + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: @[FlexibleNullability] T of .Java1? + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + VAR name:k type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java1? visibility:public' type=@[FlexibleNullability] kotlin.Nothing? origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k2 type:kotlin.Nothing [val] + TYPE_OP type=kotlin.Nothing origin=IMPLICIT_NOTNULL typeOperand=kotlin.Nothing + CALL 'public open fun bar (): @[FlexibleNullability] kotlin.Nothing? declared in .A' type=@[FlexibleNullability] kotlin.Nothing? origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + VAR name:k3 type:kotlin.Unit [val] + CALL 'public open fun foo (t: @[FlexibleNullability] kotlin.Nothing?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + t: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null + VAR name:k4 type:kotlin.Nothing? [val] + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:@[FlexibleNullability] T of .Java1? visibility:public' type=kotlin.Nothing? origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k5 type:kotlin.Nothing? [val] + CALL 'public open fun bar (): kotlin.Nothing? declared in .B' type=kotlin.Nothing? origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + VAR name:k6 type:kotlin.Unit [val] + CALL 'public open fun foo (t: kotlin.Nothing?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + t: GET_VAR 'val k: kotlin.Nothing declared in .test' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt new file mode 100644 index 00000000000..7ab022f4896 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt @@ -0,0 +1,29 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java + +public class Java1 { + public T a; + + public void foo(T t) {}; + + public T bar() { + return a; + }; +} + + +// FILE: 1.kt +class A : Java1() + +class B : Java1() + +fun test(a: A, b: B){ + val k: Nothing = a.a + val k2: Nothing = a.bar() + val k3: Unit = a.foo(k) + + val k4: Nothing? = b.a + val k5: Nothing? = b.bar() + val k6: Unit = b.foo(k) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt.txt new file mode 100644 index 00000000000..838a5d2c57c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Nothing?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Nothing?>() + /* () */ + + } + +} + +fun test(a: A, b: B) { + val k: Nothing = a(super).#a /*!! Nothing */ + val k2: Nothing = a.bar() /*!! Nothing */ + val k3: Unit = a.foo(t = k) + val k4: Nothing? = b(super).#a + val k5: Nothing? = b.bar() + val k6: Unit = b.foo(t = k) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.sig.kt.txt new file mode 100644 index 00000000000..7511b58faee --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.sig.kt.txt @@ -0,0 +1,53 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#bar(){}kotlin.Nothing? + // Public signature: /A.bar|3558363943026565141[0] + // Public signature debug description: bar(){}kotlin.Nothing? + /* fake */ override fun bar(): Nothing? + + // CHECK: + // Mangled name: A#foo(kotlin.Nothing?){} + // Public signature: /A.foo|-6013379405170320929[0] + // Public signature debug description: foo(kotlin.Nothing?){} + /* fake */ override fun foo(t: Nothing?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#bar(){}kotlin.Nothing? + // Public signature: /B.bar|3558363943026565141[0] + // Public signature debug description: bar(){}kotlin.Nothing? + /* fake */ override fun bar(): Nothing? + + // CHECK: + // Mangled name: B#foo(kotlin.Nothing?){} + // Public signature: /B.foo|-6013379405170320929[0] + // Public signature debug description: foo(kotlin.Nothing?){} + /* fake */ override fun foo(t: Nothing?): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.ir.txt new file mode 100644 index 00000000000..ef8e0bbb7a0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.ir.txt @@ -0,0 +1,232 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String? [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2]' + 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .KotlinInterface2 + $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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinInterface2]' + 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.kt.txt new file mode 100644 index 00000000000..3f687aa2cb8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.fir.kt.txt @@ -0,0 +1,81 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: String?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +abstract class E : KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: Any) + +} + +interface KotlinInterface2 : Java2 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(a = ["", "1"]) + a.foo(a = [null]) + b.foo(a = ["", "1"]) + b.foo(a = [null]) + c.foo(a = ["", "1"]) + d.foo(a = ["", "1"]) + e.foo(a = ["", "1"]) + f.foo(a = ["", "1"]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.ir.txt new file mode 100644 index 00000000000..b09d15f72bb --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.ir.txt @@ -0,0 +1,232 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String? [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.KotlinInterface2]' + 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .KotlinInterface2 + $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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinInterface2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.KotlinInterface2]' + 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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .KotlinInterface2 + $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 .KotlinInterface2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface2 + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + CLASS INTERFACE name:KotlinInterface2 modality:ABSTRACT visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface2 + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST String type=kotlin.String value="1" diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt new file mode 100644 index 00000000000..246cfdf9199 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt @@ -0,0 +1,49 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(String... a) {} +} + +// FILE: Java2.java +public interface Java2 extends KotlinInterface { } + +// FILE: 1.kt + +class A : Java1() + +class B: Java1() { + override fun foo(vararg a: String?) { } +} + +abstract class C: Java2 //Kotlin ← Java ← Kotlin + +class D: Java2 { //Kotlin ← Java ← Kotlin + override fun foo(vararg a: Any) {} +} + +abstract class E : KotlinInterface2 //Kotlin ← Java ← Kotlin ← Java + +class F : KotlinInterface2 { //Kotlin ← Java ← Kotlin ← Java + override fun foo(vararg a: Any) { } +} + +interface KotlinInterface { + fun foo(vararg a: Any) +} + +interface KotlinInterface2 : Java2 + + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo("","1") + a.foo(null) + + b.foo("","1") + b.foo(null) + + c.foo("","1") + d.foo("","1") + e.foo("","1") + f.foo("","1") +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt.txt new file mode 100644 index 00000000000..3f687aa2cb8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt.txt @@ -0,0 +1,81 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: String?) { + } + +} + +abstract class C : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +abstract class E : KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class F : KotlinInterface2 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: Any) + +} + +interface KotlinInterface2 : Java2 { +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo(a = ["", "1"]) + a.foo(a = [null]) + b.foo(a = ["", "1"]) + b.foo(a = [null]) + c.foo(a = ["", "1"]) + d.foo(a = ["", "1"]) + e.foo(a = ["", "1"]) + f.foo(a = ["", "1"]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.sig.kt.txt new file mode 100644 index 00000000000..39cd5ead684 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.sig.kt.txt @@ -0,0 +1,137 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Array?...){} + // Public signature: /A.foo|8054057531003812461[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: String?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Array...){} + // Public signature: /B.foo|-5715392979344006765[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: String?): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Array...){} + // Public signature: /C.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract /* fake */ override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Array...){} + // Public signature: /D.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : KotlinInterface2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Array...){} + // Public signature: /E.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract /* fake */ override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinInterface2 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(kotlin.Array...){} + // Public signature: /F.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Array...){} + // Public signature: /KotlinInterface.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface2 +// Public signature: /KotlinInterface2|null[0] +interface KotlinInterface2 : Java2 { + // CHECK: + // Mangled name: KotlinInterface2#foo(kotlin.Array...){} + // Public signature: /KotlinInterface2.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract /* fake */ override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.ir.txt new file mode 100644 index 00000000000..c3e1f4cfc53 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.ir.txt @@ -0,0 +1,207 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Any? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Any? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String? [vararg] + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: kotlin.String): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.kt.txt new file mode 100644 index 00000000000..c4f473f98b4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.fir.kt.txt @@ -0,0 +1,63 @@ +abstract class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: String) { + } + +} + +abstract class C : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + + override fun foo(vararg a: String?) { + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: Any) + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = [1, 2]) + a.foo(a = ["1", "2"]) + a.foo(a = [null]) + b.foo(a = [1, 2]) + b.foo(a = ["1", "2"]) + b.foo(a = [null]) + c.foo(a = [1, 2]) + c.foo(a = ["1", "2"]) + c.foo(a = [null]) + d.foo(a = [1, 2]) + d.foo(a = [null]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.ir.txt new file mode 100644 index 00000000000..381a6e98717 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.ir.txt @@ -0,0 +1,207 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Any? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Any? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.String? [vararg] + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2; .KotlinInterface]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + FUN name:foo visibility:public modality:OPEN <> ($this:.D, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.String? [vararg] + BLOCK_BODY + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface, a:kotlin.Array) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: kotlin.String): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.String? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: kotlin.String?): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.String? + CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt new file mode 100644 index 00000000000..be812892e5b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt @@ -0,0 +1,48 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(Object... a) {} +} + +// FILE: Java2.java +public interface Java2 { + public void foo(String... a); +} + + +// FILE: 1.kt +abstract class A : Java1(), Java2 + +class B : Java1(), Java2 { + override fun foo(vararg a: String) { } +} + +abstract class C : Java2, KotlinInterface + +class D: Java2, KotlinInterface { + override fun foo(vararg a: Any) { } + + override fun foo(vararg a: String?) { } +} + +interface KotlinInterface { + fun foo(vararg a: Any) +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(1, 2) + a.foo("1", "2") + a.foo(null) + + b.foo(1, 2) + b.foo("1", "2") + b.foo(null) + + c.foo(1, 2) + c.foo("1", "2") + c.foo(null) + + d.foo(1, 2) + d.foo(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt.txt new file mode 100644 index 00000000000..c4f473f98b4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt.txt @@ -0,0 +1,63 @@ +abstract class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: String) { + } + +} + +abstract class C : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + + override fun foo(vararg a: String?) { + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: Any) + +} + +fun test(a: A, b: B, c: C, d: D) { + a.foo(a = [1, 2]) + a.foo(a = ["1", "2"]) + a.foo(a = [null]) + b.foo(a = [1, 2]) + b.foo(a = ["1", "2"]) + b.foo(a = [null]) + c.foo(a = [1, 2]) + c.foo(a = ["1", "2"]) + c.foo(a = [null]) + d.foo(a = [1, 2]) + d.foo(a = [null]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.sig.kt.txt new file mode 100644 index 00000000000..96fced0c02f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.sig.kt.txt @@ -0,0 +1,113 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Array?...){} + // Public signature: /A.foo|8054057531003812461[0] + // Public signature debug description: foo(kotlin.Array?...){} + abstract /* fake */ override fun foo(vararg a: String?): Unit + + // CHECK: + // Mangled name: A#foo(kotlin.Array?...){} + // Public signature: /A.foo|5466011371396409986[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: Any?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Array?...){} + // Public signature: /B.foo|5466011371396409986[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: Any?): Unit + + // CHECK: + // Mangled name: B#foo(kotlin.Array...){} + // Public signature: /B.foo|7137812470563281312[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: String): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Array?...){} + // Public signature: /C.foo|8054057531003812461[0] + // Public signature debug description: foo(kotlin.Array?...){} + abstract /* fake */ override fun foo(vararg a: String?): Unit + + // CHECK: + // Mangled name: C#foo(kotlin.Array...){} + // Public signature: /C.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract /* fake */ override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Array...){} + // Public signature: /D.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: Any): Unit + + // CHECK: + // Mangled name: D#foo(kotlin.Array...){} + // Public signature: /D.foo|-5715392979344006765[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: String?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Array...){} + // Public signature: /KotlinInterface.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D){} +// Public signature: /test|7656439746344069424[0] +// Public signature debug description: test(A;B;C;D){} +fun test(a: A, b: B, c: C, d: D): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.ir.txt new file mode 100644 index 00000000000..9e34428b3ec --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.ir.txt @@ -0,0 +1,248 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .A + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1.A>, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.A?>? varargElementType:@[FlexibleNullability] T of .A? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java2.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : T of .B + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java2.B>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B.B>, a:kotlin.Array.B>) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.B> varargElementType:T of .B [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2.C>; .KotlinInterface.C>]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2.C>, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun foo (vararg a: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2.C> + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array.C?>? varargElementType:@[FlexibleNullability] T of .C? [vararg] + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2.D>; .KotlinInterface.D>]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>, a:kotlin.Array.D>) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun foo (vararg a: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.D> varargElementType:T of .D [vararg] + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Int? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, a:kotlin.Array.KotlinInterface>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.KotlinInterface> varargElementType:T of .KotlinInterface [vararg] + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.kt.txt new file mode 100644 index 00000000000..76316304c7d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.fir.kt.txt @@ -0,0 +1,73 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: T) { + } + +} + +abstract class C : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: T) { + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E) { + a.foo(a = [1, 2]) + a.foo(a = [1, null]) + a.foo(a = [null]) + b.foo(a = [1, 2]) + b.foo(a = [1, null]) + b.foo(a = [null]) + c.foo(a = [1, 2]) + c.foo(a = ["1", "2", null]) + c.foo(a = [null]) + d.foo(a = [1, 2]) + c.foo(a = ["1", "2", null]) + d.foo(a = [null]) + e.foo(a = [1, 2]) + e.foo(a = [1, null]) + e.foo(a = [null]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.ir.txt new file mode 100644 index 00000000000..98e35cb3192 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.ir.txt @@ -0,0 +1,248 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A.A> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .A? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1.A>; .Java2.A>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1.A>, a:@[FlexibleNullability] kotlin.Array.A?>?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1.A> + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array.A?>? varargElementType:@[FlexibleNullability] T of .A? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java2.B>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B.B> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.B.B> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] T of .B? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1.B>; .Java2.B>]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B.B>, a:kotlin.Array.B>) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B.B> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.B> varargElementType:T of .B [vararg] + BLOCK_BODY + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2.C>; .KotlinInterface.C>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C.C> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.C.C> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.Java2.C>; .KotlinInterface.C>]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.Java2.C>, a:@[FlexibleNullability] kotlin.Array.C?>?) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun foo (vararg a: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.Java2.C> + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array.C?>? varargElementType:@[FlexibleNullability] T of .C? [vararg] + 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 .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2.D>; .KotlinInterface.D>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D.D> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public <> () returnType:.D.D> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2.D>; .KotlinInterface.D>]' + 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 .Java2 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + public open fun hashCode (): kotlin.Int declared in .KotlinInterface + $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 .Java2 + public open fun toString (): kotlin.String declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D.D>, a:kotlin.Array.D>) returnType:kotlin.Unit + overridden: + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + public abstract fun foo (vararg a: T of .KotlinInterface): kotlin.Unit declared in .KotlinInterface + $this: VALUE_PARAMETER name: type:.D.D> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.D> varargElementType:T of .D [vararg] + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + public abstract fun foo (vararg a: @[FlexibleNullability] T of .Java2?): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Int? [vararg] + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInterface.KotlinInterface> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:ABSTRACT <> ($this:.KotlinInterface.KotlinInterface>, a:kotlin.Array.KotlinInterface>) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInterface.KotlinInterface> + VALUE_PARAMETER name:a index:0 type:kotlin.Array.KotlinInterface> varargElementType:T of .KotlinInterface [vararg] + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] T of .A?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .B): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CONST Null type=kotlin.Nothing? value=null + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public abstract fun foo (vararg a: @[FlexibleNullability] T of .C?): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Any? + CONST String type=kotlin.String value="1" + CONST String type=kotlin.String value="2" + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: T of .D): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt new file mode 100644 index 00000000000..b3d69863c97 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt @@ -0,0 +1,52 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(T... a) {}; +} + +// FILE: Java2.java +public interface Java2 { + public void foo(T... a); +} + +// FILE: 1.kt +class A : Java1(), Java2 + +class B : Java1(), Java2 { + override fun foo(vararg a: T) { } +} + +abstract class C : Java2, KotlinInterface + +class D : Java2, KotlinInterface { + override fun foo(vararg a: T) { } +} + +interface KotlinInterface { + fun foo(vararg a: T) +} + +class E: Java1(), Java2 + +fun test(a: A, b: B, c: C, d: D, e: E) { + a.foo(1, 2) + a.foo(1, null) + a.foo(null) + + b.foo(1, 2) + b.foo(1, null) + b.foo(null) + + c.foo(1, 2) + c.foo("1", "2", null) + c.foo(null) + + d.foo(1, 2) + c.foo("1", "2", null) + d.foo(null) + + e.foo(1, 2) + e.foo(1, null) + e.foo(null) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt.txt new file mode 100644 index 00000000000..bd3fc12bded --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt.txt @@ -0,0 +1,73 @@ +class A : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + +} + +class B : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability T?>() + /* () */ + + } + + override fun foo(vararg a: T) { + } + +} + +abstract class C : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class D : Java2, KotlinInterface { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo(vararg a: T) { + } + +} + +class E : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +interface KotlinInterface { + abstract fun foo(vararg a: T) + +} + +fun test(a: A, b: B, c: C, d: D, e: E) { + a.foo(a = [1, 2]) + a.foo(a = [1, null]) + a.foo(a = [null]) + b.foo(a = [1, 2]) + b.foo(a = [1, null]) + b.foo(a = [null]) + c.foo(a = [1, 2]) + c.foo(a = ["1", "2", null]) + c.foo(a = [null]) + d.foo(a = [1, 2]) + c.foo(a = ["1", "2", null]) + d.foo(a = [null]) + e.foo(a = [1, 2]) + e.foo(a = [1, null]) + e.foo(a = [null]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.sig.kt.txt new file mode 100644 index 00000000000..ac5c2d65034 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.sig.kt.txt @@ -0,0 +1,107 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1, Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Array?...){} + // Public signature: /A.foo|-7104783452449575467[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: T?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1, Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Array...){} + // Public signature: /B.foo|2066209679093709025[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: T): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : Java2, KotlinInterface { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(kotlin.Array?...){} + // Public signature: /C.foo|-7104783452449575467[0] + // Public signature debug description: foo(kotlin.Array?...){} + abstract /* fake */ override fun foo(vararg a: T?): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2, KotlinInterface { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(kotlin.Array...){} + // Public signature: /D.foo|2066209679093709025[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: T): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java1, Java2 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(kotlin.Array?...){} + // Public signature: /E.foo|-8810383277274806385[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: Int?): Unit + +} + +// CHECK: +// Mangled name: KotlinInterface +// Public signature: /KotlinInterface|null[0] +interface KotlinInterface { + // CHECK: + // Mangled name: KotlinInterface#foo(kotlin.Array...){} + // Public signature: /KotlinInterface.foo|2066209679093709025[0] + // Public signature debug description: foo(kotlin.Array...){} + abstract fun foo(vararg a: T): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E){} +// Public signature: /test|7222995259622147940[0] +// Public signature debug description: test(A;B;C;D;E){} +fun test(a: A, b: B, c: C, d: D, e: E): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.ir.txt new file mode 100644 index 00000000000..eca81f62e28 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.ir.txt @@ -0,0 +1,70 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Int + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Int? [vararg] + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : kotlin.Any + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.kt.txt new file mode 100644 index 00000000000..2591640c0c1 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.fir.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +fun test(a: A, b: B) { + a.foo(a = [1, 2]) + a.foo(a = [null]) + b.foo(a = ["", 1]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.ir.txt new file mode 100644 index 00000000000..fe8f17373a7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.ir.txt @@ -0,0 +1,70 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Int? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1, a:@[FlexibleNullability] kotlin.Array?) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + VALUE_PARAMETER name:a index:0 type:@[FlexibleNullability] kotlin.Array? varargElementType:@[FlexibleNullability] kotlin.Int? [vararg] + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + : @[FlexibleNullability] kotlin.Any? + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B, a:kotlin.Array) returnType:kotlin.Unit + overridden: + public open fun foo (vararg a: @[FlexibleNullability] T of .Java1?): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name:a index:0 type:kotlin.Array varargElementType:kotlin.Any [vararg] + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + BLOCK_BODY + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Int type=kotlin.Int value=1 + CONST Int type=kotlin.Int value=2 + CALL 'public open fun foo (vararg a: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + a: VARARG type=kotlin.Array? varargElementType=@[FlexibleNullability] kotlin.Int? + CONST Null type=kotlin.Nothing? value=null + CALL 'public open fun foo (vararg a: kotlin.Any): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: VARARG type=kotlin.Array varargElementType=kotlin.Any + CONST String type=kotlin.String value="" + CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt new file mode 100644 index 00000000000..360cf38fdc0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt @@ -0,0 +1,19 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public void foo(T... a) {} +} + +// FILE: 1.kt +class A : Java1() + +class B: Java1() { + override fun foo(vararg a: Any) { } +} + +fun test(a: A, b: B) { + a.foo(1,2) + a.foo(null) + b.foo("", 1) +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt.txt new file mode 100644 index 00000000000..5efd75d1d16 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt.txt @@ -0,0 +1,26 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Int?>() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/<@FlexibleNullability Any?>() + /* () */ + + } + + override fun foo(vararg a: Any) { + } + +} + +fun test(a: A, b: B) { + a.foo(a = [1, 2]) + a.foo(a = [null]) + b.foo(a = ["", 1]) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.sig.kt.txt new file mode 100644 index 00000000000..96fa3bb849c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.sig.kt.txt @@ -0,0 +1,41 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(kotlin.Array?...){} + // Public signature: /A.foo|-8810383277274806385[0] + // Public signature debug description: foo(kotlin.Array?...){} + /* fake */ override fun foo(vararg a: Int?): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(kotlin.Array...){} + // Public signature: /B.foo|3529166924447590762[0] + // Public signature debug description: foo(kotlin.Array...){} + override fun foo(vararg a: Any): Unit + +} + +// CHECK: +// Mangled name: #test(A;B){} +// Public signature: /test|-2533013708701322011[0] +// Public signature debug description: test(A;B){} +fun test(a: A, b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.ir.txt new file mode 100644 index 00000000000..4601ac0b123 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.ir.txt @@ -0,0 +1,628 @@ +Module: separate +FILE fqName: fileName:/Test.kt + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:j1 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=11 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j2 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=22 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j3 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=33 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j4 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=44 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funJ1 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:funJ2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:funJ4 visibility:internal modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funJ1 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:funJ2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:j1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:OPEN visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:j1 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j2 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j3 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j4 visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j4 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + value: GET_VAR ': kotlin.Int declared in .F.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:OPEN visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:j1 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j2 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j3 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j4 visibility:internal modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Int declared in .G.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:j1 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j2 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j3 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j4 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=2 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=3 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public/*package*/ open fun funJ4 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST Int type=kotlin.Int value=1 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=2 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=3 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun funJ2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'internal open fun funJ4 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + value: CONST Int type=kotlin.Int value=1 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun funJ2 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal final fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal final fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal final fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal final fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.kt.txt new file mode 100644 index 00000000000..114aa8aba26 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.fir.kt.txt @@ -0,0 +1,220 @@ +// MODULE: separate +// FILE: Test.kt + +class I : J2 { + internal val j1: Int + field = 11 + internal get + + internal val j2: Int + field = 22 + internal get + + internal val j3: Int + field = 33 + internal get + + internal val j4: Int + field = 44 + internal get + + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +// MODULE: main +// FILE: test.kt + +class A : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +class C : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + + override fun funJ1() { + } + + override fun funJ2() { + } + + internal override fun funJ4() { + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + + override fun funJ1() { + } + + override fun funJ2() { + } + +} + +class E : J { + val j1: Int + field = 100 + get + + val j2: Int + field = 200 + get + + val j3: Int + field = 300 + get + + val j4: Int + field = 400 + get + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +open class F : J { + protected val j1: Int + field = 100 + protected get + + protected val j2: Int + field = 200 + protected get + + protected val j3: Int + field = 300 + protected get + + protected var j4: Int + field = 400 + protected get + protected set + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class G : J { + internal val j1: Int + field = 100 + internal get + + internal val j2: Int + field = 200 + internal get + + internal val j3: Int + field = 300 + internal get + + internal var j4: Int + field = 400 + internal get + internal set + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class H : J { + private val j1: Int + field = 100 + private get + + private val j2: Int + field = 200 + private get + + private val j3: Int + field = 300 + private get + + private val j4: Int + field = 400 + private get + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.#j1 = 1 + a.#j2 = 2 + a.#j4 = 3 + a.funJ1() + a.funJ2() + a.funJ4() + b.#j1 = 1 + b.funJ1() + c.#j1 = 1 + c.#j2 = 2 + c.#j4 = 3 + c.funJ1() + c.funJ2() + c.funJ4() + d.#j1 = 1 + d.funJ1() + d.funJ2() + e.() /*~> Unit */ + e.() /*~> Unit */ + e.() /*~> Unit */ + e.() /*~> Unit */ + f.#j1 /*~> Unit */ + f.#j2 /*~> Unit */ + f.#j4 /*~> Unit */ + g.() /*~> Unit */ + g.() /*~> Unit */ + g.() /*~> Unit */ + g.() /*~> Unit */ + h.#j1 /*~> Unit */ + h.#j2 /*~> Unit */ + h.#j4 /*~> Unit */ + i.#j1 /*~> Unit */ + i.#j2 /*~> Unit */ + i.#j4 /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.ir.txt new file mode 100644 index 00000000000..f5eb9ef5744 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.ir.txt @@ -0,0 +1,709 @@ +Module: separate +FILE fqName: fileName:/Test.kt + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:j1 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=11 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j2 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=22 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j3 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=33 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + PROPERTY name:j4 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=44 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funJ1 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:funJ2 visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:funJ4 visibility:internal modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.J2]' + 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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.J2 + 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 .J2 + $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 .J2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funJ1 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:funJ2 visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:j1 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j2 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j3 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + PROPERTY name:j4 visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:F modality:OPEN visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:j1 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j2 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j3 visibility:protected modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:protected modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + PROPERTY name:j4 visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.F, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j4 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.F + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + value: GET_VAR ': kotlin.Int declared in .F.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:OPEN visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + PROPERTY name:j1 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j2 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j3 visibility:internal modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:internal modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + PROPERTY name:j4 visibility:internal modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlin.Int declared in .G' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL <> ($this:.G, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:j4 visibility:internal modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.G + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .G declared in .G.' type=.G origin=null + value: GET_VAR ': kotlin.Int declared in .G.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:j1 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=100 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j1 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j2 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=200 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j2 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j2 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j3 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=300 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j3 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j3 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + PROPERTY name:j4 visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=400 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:j4 visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:j4 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funJ1 visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funJ1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ2 visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name:funJ4 visibility:public/*package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun funJ4 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:j1 visibility:public modality:FINAL [fake_override,var] + overridden: + public final j1: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j2 visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final j2: kotlin.Int + PROPERTY FAKE_OVERRIDE name:j4 visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final j4: kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + BLOCK_BODY + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=2 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + value: CONST Int type=kotlin.Int value=3 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'protected/*protected and package*/ open fun funJ2 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public/*package*/ open fun funJ4 (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + value: CONST Int type=kotlin.Int value=1 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=1 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=2 + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + value: CONST Int type=kotlin.Int value=3 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun funJ2 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'internal open fun funJ4 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + SET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Unit origin=EQ + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + value: CONST Int type=kotlin.Int value=1 + CALL 'public open fun funJ1 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun funJ2 (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal final fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j1 type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j2 type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:j4 type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt new file mode 100644 index 00000000000..5b96e8bf4a5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt @@ -0,0 +1,129 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: J2.java +public class J2 { + public int j1 = 1; + protected int j2 = 2; + private int j3 = 3; + int j4 = 4; + + public void funJ1() {} + protected void funJ2() {} + private void funJ3() {} + void funJ4() {} +} + +// FILE: Test.kt +class I : J2() { + internal val j1 = 11 + internal val j2 = 22 + internal val j3 = 33 + internal val j4 = 44 +} + +// MODULE: main(separate) +// FILE: J.java +public class J { + public int j1=12; + protected int j2=23; + private int j3=34; + int j4=45; + + public void funJ1() {} + protected void funJ2() {} + private void funJ3() {} + void funJ4() {} +} + + +// FILE: test.kt +class A: J() + +class B : J2() + +class C : J() { + override fun funJ1() { } + public override fun funJ2() { } + internal override fun funJ4() { } +} + +class D : J2() { + override fun funJ1() { } + public override fun funJ2() { } +} + +class E: J() { + public val j1 = 100 + public val j2 = 200 + public val j3 = 300 + public val j4 = 400 +} + +open class F : J() { + protected val j1 = 100 + protected val j2 = 200 + protected val j3 = 300 + protected var j4 = 400 +} + +class G : J() { + internal val j1 = 100 + internal val j2 = 200 + internal val j3 = 300 + internal var j4 = 400 +} + +class H : J() { + private val j1 = 100 + private val j2 = 200 + private val j3 = 300 + private val j4 = 400 +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a.j1 = 1 + a.j2 = 2 + a.j4 = 3 + + a.funJ1() + a.funJ2() + a.funJ4() + + b.j1 = 1 + b.funJ1() + + c.j1 = 1 + c.j2 = 2 + c.j4 = 3 + + c.funJ1() + c.funJ2() + c.funJ4() + + d.j1 = 1 + d.funJ1() + d.funJ2() + + e.j1 + e.j2 + e.j3 + e.j4 + + f.j1 + f.j2 + f.j4 + + g.j1 + g.j2 + g.j3 + g.j4 + + h.j1 + h.j2 + h.j4 + + i.j1 + i.j2 + i.j4 +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt.txt new file mode 100644 index 00000000000..9cfde7df7d3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt.txt @@ -0,0 +1,220 @@ +// MODULE: separate +// FILE: Test.kt + +class I : J2 { + internal val j1: Int + field = 11 + internal get + + internal val j2: Int + field = 22 + internal get + + internal val j3: Int + field = 33 + internal get + + internal val j4: Int + field = 44 + internal get + + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +// MODULE: main +// FILE: test.kt + +class A : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class B : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + +} + +class C : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + + override fun funJ1() { + } + + override fun funJ2() { + } + + internal override fun funJ4() { + } + +} + +class D : J2 { + constructor() /* primary */ { + super/*J2*/() + /* () */ + + } + + override fun funJ1() { + } + + override fun funJ2() { + } + +} + +class E : J { + val j1: Int + field = 100 + get + + val j2: Int + field = 200 + get + + val j3: Int + field = 300 + get + + val j4: Int + field = 400 + get + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +open class F : J { + protected val j1: Int + field = 100 + protected get + + protected val j2: Int + field = 200 + protected get + + protected val j3: Int + field = 300 + protected get + + protected var j4: Int + field = 400 + protected get + protected set + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class G : J { + internal val j1: Int + field = 100 + internal get + + internal val j2: Int + field = 200 + internal get + + internal val j3: Int + field = 300 + internal get + + internal var j4: Int + field = 400 + internal get + internal set + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +class H : J { + private val j1: Int + field = 100 + private get + + private val j2: Int + field = 200 + private get + + private val j3: Int + field = 300 + private get + + private val j4: Int + field = 400 + private get + + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) { + a(super).#j1 = 1 + a(super).#j2 = 2 + a(super).#j4 = 3 + a.funJ1() + a.funJ2() + a.funJ4() + b(super).#j1 = 1 + b.funJ1() + c(super).#j1 = 1 + c(super).#j2 = 2 + c(super).#j4 = 3 + c.funJ1() + c.funJ2() + c.funJ4() + d(super).#j1 = 1 + d.funJ1() + d.funJ2() + e(super).#j1 /*~> Unit */ + e(super).#j2 /*~> Unit */ + e.() /*~> Unit */ + e(super).#j4 /*~> Unit */ + f(super).#j1 /*~> Unit */ + f(super).#j2 /*~> Unit */ + f(super).#j4 /*~> Unit */ + g(super).#j1 /*~> Unit */ + g(super).#j2 /*~> Unit */ + g.() /*~> Unit */ + g(super).#j4 /*~> Unit */ + h(super).#j1 /*~> Unit */ + h(super).#j2 /*~> Unit */ + h(super).#j4 /*~> Unit */ + i(super).#j1 /*~> Unit */ + i(super).#j2 /*~> Unit */ + i(super).#j4 /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.sig.kt.txt new file mode 100644 index 00000000000..54dc2f0d3cc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.sig.kt.txt @@ -0,0 +1,511 @@ +// MODULE: separate +// FILE: Test.kt + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : J2 { + // CHECK: + // Mangled name: I{}j1 + // Public signature: /I.j1|-928676043469958746[0] + // Public signature debug description: {}j1 + internal val j1: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.j1.|6087532728828337697[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: I{}j2 + // Public signature: /I.j2|-2140420436483753491[0] + // Public signature debug description: {}j2 + internal val j2: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.j2.|4162516175041800910[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: I{}j3 + // Public signature: /I.j3|2185908363147527217[0] + // Public signature debug description: {}j3 + internal val j3: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.j3.|3827766923255029220[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: I{}j4 + // Public signature: /I.j4|-8411170540719817799[0] + // Public signature debug description: {}j4 + internal val j4: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.j4.|6634477083645281651[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#funJ1(){} + // Public signature: /I.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: I#funJ2(){} + // Public signature: /I.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: I#funJ4(){} + // Public signature: /I.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : J { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#funJ1(){} + // Public signature: /A.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: A#funJ2(){} + // Public signature: /A.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: A#funJ4(){} + // Public signature: /A.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : J2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#funJ1(){} + // Public signature: /B.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: B#funJ2(){} + // Public signature: /B.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: B#funJ4(){} + // Public signature: /B.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : J { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#funJ1(){} + // Public signature: /C.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + override fun funJ1(): Unit + + // CHECK: + // Mangled name: C#funJ2(){} + // Public signature: /C.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + override fun funJ2(): Unit + + // CHECK: + // Mangled name: C#funJ4(){} + // Public signature: /C.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + internal override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : J2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#funJ4(){} + // Public signature: /D.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + + // CHECK: + // Mangled name: D#funJ1(){} + // Public signature: /D.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + override fun funJ1(): Unit + + // CHECK: + // Mangled name: D#funJ2(){} + // Public signature: /D.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + override fun funJ2(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : J { + // CHECK: + // Mangled name: E{}j1 + // Public signature: /E.j1|-928676043469958746[0] + // Public signature debug description: {}j1 + val j1: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.j1.|6087532728828337697[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E{}j2 + // Public signature: /E.j2|-2140420436483753491[0] + // Public signature debug description: {}j2 + val j2: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.j2.|4162516175041800910[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E{}j3 + // Public signature: /E.j3|2185908363147527217[0] + // Public signature debug description: {}j3 + val j3: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.j3.|3827766923255029220[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E{}j4 + // Public signature: /E.j4|-8411170540719817799[0] + // Public signature debug description: {}j4 + val j4: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.j4.|6634477083645281651[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#funJ1(){} + // Public signature: /E.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: E#funJ2(){} + // Public signature: /E.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: E#funJ4(){} + // Public signature: /E.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +open class F : J { + // CHECK: + // Mangled name: F{}j1 + // Public signature: /F.j1|-928676043469958746[0] + // Public signature debug description: {}j1 + protected val j1: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.j1.|6087532728828337697[0] + // Public signature debug description: (){}kotlin.Int + protected get + + // CHECK: + // Mangled name: F{}j2 + // Public signature: /F.j2|-2140420436483753491[0] + // Public signature debug description: {}j2 + protected val j2: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.j2.|4162516175041800910[0] + // Public signature debug description: (){}kotlin.Int + protected get + + // CHECK: + // Mangled name: F{}j3 + // Public signature: /F.j3|2185908363147527217[0] + // Public signature debug description: {}j3 + protected val j3: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.j3.|3827766923255029220[0] + // Public signature debug description: (){}kotlin.Int + protected get + + // CHECK: + // Mangled name: F{}j4 + // Public signature: /F.j4|-8411170540719817799[0] + // Public signature debug description: {}j4 + protected var j4: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.j4.|6634477083645281651[0] + // Public signature debug description: (){}kotlin.Int + protected get + // CHECK: + // Mangled name: F#(kotlin.Int){} + // Public signature: /F.j4.|8664647862219023612[0] + // Public signature debug description: (kotlin.Int){} + protected set + + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#funJ1(){} + // Public signature: /F.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: F#funJ2(){} + // Public signature: /F.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: F#funJ4(){} + // Public signature: /F.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : J { + // CHECK: + // Mangled name: G{}j1 + // Public signature: /G.j1|-928676043469958746[0] + // Public signature debug description: {}j1 + internal val j1: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.j1.|6087532728828337697[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: G{}j2 + // Public signature: /G.j2|-2140420436483753491[0] + // Public signature debug description: {}j2 + internal val j2: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.j2.|4162516175041800910[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: G{}j3 + // Public signature: /G.j3|2185908363147527217[0] + // Public signature debug description: {}j3 + internal val j3: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.j3.|3827766923255029220[0] + // Public signature debug description: (){}kotlin.Int + internal get + + // CHECK: + // Mangled name: G{}j4 + // Public signature: /G.j4|-8411170540719817799[0] + // Public signature debug description: {}j4 + internal var j4: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.j4.|6634477083645281651[0] + // Public signature debug description: (){}kotlin.Int + internal get + // CHECK: + // Mangled name: G#(kotlin.Int){} + // Public signature: /G.j4.|8664647862219023612[0] + // Public signature debug description: (kotlin.Int){} + internal set + + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#funJ1(){} + // Public signature: /G.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: G#funJ2(){} + // Public signature: /G.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: G#funJ4(){} + // Public signature: /G.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : J { + // CHECK: + // Mangled name: H{}j1 + // Public signature: /H.j1|-928676043469958746[0] + // Public signature debug description: {}j1 + private val j1: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.j1.|6087532728828337697[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: H{}j2 + // Public signature: /H.j2|-2140420436483753491[0] + // Public signature debug description: {}j2 + private val j2: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.j2.|4162516175041800910[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: H{}j3 + // Public signature: /H.j3|2185908363147527217[0] + // Public signature debug description: {}j3 + private val j3: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.j3.|3827766923255029220[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: H{}j4 + // Public signature: /H.j4|-8411170540719817799[0] + // Public signature debug description: {}j4 + private val j4: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.j4.|6634477083645281651[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#funJ1(){} + // Public signature: /H.funJ1|4805019183111937798[0] + // Public signature debug description: funJ1(){} + /* fake */ override fun funJ1(): Unit + + // CHECK: + // Mangled name: H#funJ2(){} + // Public signature: /H.funJ2|1015642222742993127[0] + // Public signature debug description: funJ2(){} + protected_and_package /* fake */ override fun funJ2(): Unit + + // CHECK: + // Mangled name: H#funJ4(){} + // Public signature: /H.funJ4|1072240279403770455[0] + // Public signature debug description: funJ4(){} + package /* fake */ override fun funJ4(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I){} +// Public signature: /test|-1897371180652527268[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.ir.txt new file mode 100644 index 00000000000..efe710fd1ef --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.ir.txt @@ -0,0 +1,416 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $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:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $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:.Java7) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.Java7 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $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:.Java8) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.Java8 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java9) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.Java9 + 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 .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java10) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.Java10 + 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 .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java11) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.Java11 + 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 .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.M) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + VALUE_PARAMETER name:n index:13 type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.kt.txt new file mode 100644 index 00000000000..1d6ff09c150 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.fir.kt.txt @@ -0,0 +1,177 @@ +class A : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class B : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class C : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class D : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +class E : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + +} + +class F : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + +} + +class G : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + +} + +class H : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + +} + +class J : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + + override fun foo() { + } + +} + +class K : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + + override fun foo() { + } + +} + +class L : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + + override fun foo() { + } + +} + +class M : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + + override fun foo() { + } + +} + +class N : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + + internal override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N) { + a.#a /*~> Unit */ + a.foo() + b.#a /*~> Unit */ + b.foo() + c.#a /*~> Unit */ + c.foo() + d.#a /*~> Unit */ + d.foo() + e.#a /*~> Unit */ + e.foo() + f.#a /*~> Unit */ + f.foo() + g.#a /*~> Unit */ + g.foo() + h.#a /*~> Unit */ + h.foo() + i.#a /*~> Unit */ + i.foo() + j.#a /*~> Unit */ + j.foo() + k.#a /*~> Unit */ + k.foo() + l.#a /*~> Unit */ + l.foo() + m.#a /*~> Unit */ + m.foo() + n.#a /*~> Unit */ + n.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.ir.txt new file mode 100644 index 00000000000..ed1fe208e29 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.ir.txt @@ -0,0 +1,458 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $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:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $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:.Java7) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.Java7 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $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:.Java8) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.Java8 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java9) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.Java9 + 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 .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java10) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.Java10 + 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 .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java11) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.Java11 + 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 .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.M) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + VALUE_PARAMETER name:m index:12 type:.M + VALUE_PARAMETER name:n index:13 type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt new file mode 100644 index 00000000000..4e4b41c9b99 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt @@ -0,0 +1,154 @@ +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public int a = 1; + public void foo(){} +} + +// FILE: Java2.java +public class Java2 { + protected int a = 2; + protected void foo(){} +} + +// FILE: Java3.java +public class Java3 { + private int a = 3; + private void foo(){} +} + +// FILE: Java4.java +public class Java4 { + int a = 4; + void foo(){} +} + +// FILE: Java5.java +public class Java5 extends Java1 { + public int a = 5; + public void foo(){} +} + +// FILE: Java6.java +public class Java6 extends Java2 { + public int a = 6; + public void foo() {} +} + +// FILE: Java7.java +public class Java7 extends Java3 { + public int a = 7; + public void foo() {} +} + +// FILE: Java8.java +public class Java8 extends Java4 { + public int a = 8; + public void foo(){} +} + +// FILE: Java9.java +public class Java9 extends Java3 { + protected int a = 9; + protected void foo(){} +} + +// FILE: Java10.java +public class Java10 extends Java4 { + protected int a = 10; + protected void foo(){} +} + +// FILE: Java11.java +public class Java11 extends Java3 { + int a = 11; + void foo(){} +} + +// FILE: test.kt +class A : Java5() // (public + public) + +class B : Java6() // (public + protected) + +class C : Java7() // (public + private) + +class D : Java8() // (public + default) + +class E : Java9() // (protected + private) + +class F : Java10() // (protected + default) + +class G : Java11() // (default + private) + +class H: Java5() { + override fun foo() {} +} + +class I : Java6() { + override fun foo() {} +} + +class J : Java7() { + override fun foo() {} +} + +class K: Java8() { + override fun foo() {} +} + +class L: Java9() { + public override fun foo() {} +} + +class M : Java10() { + public override fun foo() {} +} + +class N : Java11() { + internal override fun foo() {} +} + +fun test(a:A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N){ + a.a + a.foo() + + b.a + b.foo() + + c.a + c.foo() + + d.a + d.foo() + + e.a + e.foo() + + f.a + f.foo() + + g.a + g.foo() + + h.a + h.foo() + + i.a + i.foo() + + j.a + j.foo() + + k.a + k.foo() + + l.a + l.foo() + + m.a + m.foo() + + n.a + n.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt.txt new file mode 100644 index 00000000000..518475e6112 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt.txt @@ -0,0 +1,177 @@ +class A : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class B : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class C : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class D : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +class E : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + +} + +class F : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + +} + +class G : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + +} + +class H : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + +} + +class J : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + + override fun foo() { + } + +} + +class K : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + + override fun foo() { + } + +} + +class L : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + + override fun foo() { + } + +} + +class M : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + + override fun foo() { + } + +} + +class N : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + + internal override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N) { + a(super).#a /*~> Unit */ + a.foo() + b(super).#a /*~> Unit */ + b.foo() + c(super).#a /*~> Unit */ + c.foo() + d(super).#a /*~> Unit */ + d.foo() + e(super).#a /*~> Unit */ + e.foo() + f(super).#a /*~> Unit */ + f.foo() + g(super).#a /*~> Unit */ + g.foo() + h(super).#a /*~> Unit */ + h.foo() + i(super).#a /*~> Unit */ + i.foo() + j(super).#a /*~> Unit */ + j.foo() + k(super).#a /*~> Unit */ + k.foo() + l(super).#a /*~> Unit */ + l.foo() + m(super).#a /*~> Unit */ + m.foo() + n(super).#a /*~> Unit */ + n.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.sig.kt.txt new file mode 100644 index 00000000000..00e91892374 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.sig.kt.txt @@ -0,0 +1,257 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java5 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java6 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java7 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java8 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java9 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java10 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java11 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java5 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java6 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java7 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java8 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java9 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : Java10 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#foo(){} + // Public signature: /M.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : Java11 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#foo(){} + // Public signature: /N.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L;M;N){} +// Public signature: /test|7668676700290094940[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L;M;N){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.ir.txt new file mode 100644 index 00000000000..b5db873602a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.ir.txt @@ -0,0 +1,1196 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.PublicVisibility) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.PublicVisibility + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:AA modality:FINAL visibility:public superTypes:[.Java15] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA + CONSTRUCTOR visibility:public <> () returnType:.AA [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java15' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AA modality:FINAL visibility:public superTypes:[.Java15]' + 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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java15 + $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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.AA) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java15 + $this: VALUE_PARAMETER name: type:.AA + BLOCK_BODY + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:BB modality:FINAL visibility:public superTypes:[.Java16] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BB + CONSTRUCTOR visibility:public <> () returnType:.BB [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java16' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BB modality:FINAL visibility:public superTypes:[.Java16]' + 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 .Java16 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java16 + $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 .Java16 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java16) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java16 + $this: VALUE_PARAMETER name: type:.Java16 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:CC modality:FINAL visibility:public superTypes:[.Java17] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CC + CONSTRUCTOR visibility:public <> () returnType:.CC [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java17' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CC modality:FINAL visibility:public superTypes:[.Java17]' + 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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java17) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java17 + $this: VALUE_PARAMETER name: type:.Java17 + 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 .Java17 + $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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java17) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java17 + $this: VALUE_PARAMETER name: type:.Java17 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=55 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:DD modality:FINAL visibility:public superTypes:[.Java17] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DD + CONSTRUCTOR visibility:public <> () returnType:.DD [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java17' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DD modality:FINAL visibility:public superTypes:[.Java17]' + 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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java17 + $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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.DD) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java17 + $this: VALUE_PARAMETER name: type:.DD + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java17) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java17 + $this: VALUE_PARAMETER name: type:.Java17 + CLASS CLASS name:DefaultVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DefaultVisibility + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.DefaultVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .DefaultVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .DefaultVisibility declared in .DefaultVisibility.' type=.DefaultVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.DefaultVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DefaultVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.DefaultVisibility + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Unit [fake_override] + overridden: + protected open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:.DefaultVisibility) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.DefaultVisibility + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java4) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit [fake_override] + overridden: + internal open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.InternalVisibility + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InternalVisibility + PROPERTY name:a visibility:internal modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .InternalVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .InternalVisibility declared in .InternalVisibility.' type=.InternalVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.InternalVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java6) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java6 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $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:.Java7) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.Java7 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java7) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java7 + $this: VALUE_PARAMETER name: type:.Java7 + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $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:.Java8) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.Java8 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java8) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java8 + $this: VALUE_PARAMETER name: type:.Java8 + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java8 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $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:.Java9) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.Java9 + 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 .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + CLASS CLASS name:PrivateVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PrivateVisibility + PROPERTY name:a visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.PrivateVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.PrivateVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .PrivateVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .PrivateVisibility declared in .PrivateVisibility.' type=.PrivateVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.PrivateVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:PrivateVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.PrivateVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.PrivateVisibility + BLOCK_BODY + CLASS CLASS name:ProtectedVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ProtectedVisibility + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .ProtectedVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ProtectedVisibility declared in .ProtectedVisibility.' type=.ProtectedVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.ProtectedVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ProtectedVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + BLOCK_BODY + CLASS CLASS name:PublicVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PublicVisibility + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.PublicVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .PublicVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .PublicVisibility declared in .PublicVisibility.' type=.PublicVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.PublicVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:PublicVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.PublicVisibility + BLOCK_BODY + CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $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:.Java10) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.Java10 + 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 .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Java10) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java10 + $this: VALUE_PARAMETER name: type:.Java10 + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java10 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.S + CONSTRUCTOR visibility:public <> () returnType:.S [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java11) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.Java11 + 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 .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.Java11) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java11 + $this: VALUE_PARAMETER name: type:.Java11 + CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.T + CONSTRUCTOR visibility:public <> () returnType:.T [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.T) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.T) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java11 + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .T' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:U modality:FINAL visibility:public superTypes:[.Java12] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.U + CONSTRUCTOR visibility:public <> () returnType:.U [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java12' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:U modality:FINAL visibility:public superTypes:[.Java12]' + 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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java12) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java12 + $this: VALUE_PARAMETER name: type:.Java12 + 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 .Java12 + $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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java12) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java12 + $this: VALUE_PARAMETER name: type:.Java12 + CLASS CLASS name:V modality:FINAL visibility:public superTypes:[.Java12] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.V + CONSTRUCTOR visibility:public <> () returnType:.V [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java12' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:V modality:FINAL visibility:public superTypes:[.Java12]' + 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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java12 + $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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.V) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java12 + $this: VALUE_PARAMETER name: type:.V + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java12) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java12 + $this: VALUE_PARAMETER name: type:.Java12 + CLASS CLASS name:W modality:FINAL visibility:public superTypes:[.Java13] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.W + CONSTRUCTOR visibility:public <> () returnType:.W [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java13' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:W modality:FINAL visibility:public superTypes:[.Java13]' + 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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java13) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java13 + $this: VALUE_PARAMETER name: type:.Java13 + 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 .Java13 + $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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:X modality:FINAL visibility:public superTypes:[.Java13] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X + CONSTRUCTOR visibility:public <> () returnType:.X [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java13' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:X modality:FINAL visibility:public superTypes:[.Java13]' + 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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java13 + $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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.X) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java13 + $this: VALUE_PARAMETER name: type:.X + BLOCK_BODY + CLASS CLASS name:Y modality:FINAL visibility:public superTypes:[.Java14] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Y + CONSTRUCTOR visibility:public <> () returnType:.Y [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java14' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Y modality:FINAL visibility:public superTypes:[.Java14]' + 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 .Java14 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java14 + $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 .Java14 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[.Java15] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:public <> () returnType:.Z [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java15' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[.Java15]' + 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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java15) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java15 + $this: VALUE_PARAMETER name: type:.Java15 + 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 .Java15 + $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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, d:.D, f:.F, g:.G, h:.H, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R, s:.S, t:.T, u:.U, v:.V, w:.W, x:.X, aa:.AA, cc:.CC, dd:.DD) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:f index:3 type:.F + VALUE_PARAMETER name:g index:4 type:.G + VALUE_PARAMETER name:h index:5 type:.H + VALUE_PARAMETER name:j index:6 type:.J + VALUE_PARAMETER name:k index:7 type:.K + VALUE_PARAMETER name:l index:8 type:.L + VALUE_PARAMETER name:m index:9 type:.M + VALUE_PARAMETER name:n index:10 type:.N + VALUE_PARAMETER name:o index:11 type:.O + VALUE_PARAMETER name:p index:12 type:.P + VALUE_PARAMETER name:q index:13 type:.Q + VALUE_PARAMETER name:r index:14 type:.R + VALUE_PARAMETER name:s index:15 type:.S + VALUE_PARAMETER name:t index:16 type:.T + VALUE_PARAMETER name:u index:17 type:.U + VALUE_PARAMETER name:v index:18 type:.V + VALUE_PARAMETER name:w index:19 type:.W + VALUE_PARAMETER name:x index:20 type:.X + VALUE_PARAMETER name:aa index:21 type:.AA + VALUE_PARAMETER name:cc index:22 type:.CC + VALUE_PARAMETER name:dd index:23 type:.DD + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .R' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 't: .T declared in .test' type=.T origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'u: .U declared in .test' type=.U origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .U' type=kotlin.Unit origin=null + $this: GET_VAR 'u: .U declared in .test' type=.U origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'v: .V declared in .test' type=.V origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .V' type=kotlin.Unit origin=null + $this: GET_VAR 'v: .V declared in .test' type=.V origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'w: .W declared in .test' type=.W origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .W' type=kotlin.Unit origin=null + $this: GET_VAR 'w: .W declared in .test' type=.W origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'x: .X declared in .test' type=.X origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .X' type=kotlin.Unit origin=null + $this: GET_VAR 'x: .X declared in .test' type=.X origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'aa: .AA declared in .test' type=.AA origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'cc: .CC declared in .test' type=.CC origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .CC' type=kotlin.Unit origin=null + $this: GET_VAR 'cc: .CC declared in .test' type=.CC origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'dd: .DD declared in .test' type=.DD origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .DD' type=kotlin.Unit origin=null + $this: GET_VAR 'dd: .DD declared in .test' type=.DD origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.kt.txt new file mode 100644 index 00000000000..65b19ec2afe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.kt.txt @@ -0,0 +1,472 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class AA : Java15 { + constructor() /* primary */ { + super/*Java15*/() + /* () */ + + } + + protected override fun foo() { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class BB : Java16 { + constructor() /* primary */ { + super/*Java16*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class CC : Java17 { + constructor() /* primary */ { + super/*Java17*/() + /* () */ + + } + +} + +class D : Java2 { + val a: Int + field = 55 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + fun foo() { + } + +} + +class DD : Java17 { + constructor() /* primary */ { + super/*Java17*/() + /* () */ + + } + + internal override fun foo() { + } + +} + +open class DefaultVisibility { + open val a: Int + field = 4 + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +open class InternalVisibility { + internal open val a: Int + field = 4 + internal open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + +} + +class J : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class K : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class L : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class M : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +class N : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 55 + } + +} + +class O : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + +} + +class P : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class PrivateVisibility { + private val a: Int + field = 2 + private get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private fun foo() { + } + +} + +open class ProtectedVisibility { + protected open val a: Int + field = 3 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +open class PublicVisibility { + open val a: Int + field = 1 + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo() { + } + +} + +class Q : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + +} + +class R : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class S : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + +} + +class T : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 55 + } + +} + +class U : Java12 { + constructor() /* primary */ { + super/*Java12*/() + /* () */ + + } + +} + +class V : Java12 { + constructor() /* primary */ { + super/*Java12*/() + /* () */ + + } + + override fun foo() { + } + +} + +class W : Java13 { + constructor() /* primary */ { + super/*Java13*/() + /* () */ + + } + +} + +class X : Java13 { + constructor() /* primary */ { + super/*Java13*/() + /* () */ + + } + + override fun foo() { + } + +} + +class Y : Java14 { + constructor() /* primary */ { + super/*Java14*/() + /* () */ + + } + +} + +class Z : Java15 { + constructor() /* primary */ { + super/*Java15*/() + /* () */ + + } + +} + +fun test(a: A, b: B, d: D, f: F, g: G, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, aa: AA, cc: CC, dd: DD) { + a.() /*~> Unit */ + a.foo() + b.() /*~> Unit */ + b.foo() + d.() /*~> Unit */ + d.foo() + f.() /*~> Unit */ + f.foo() + g.() /*~> Unit */ + g.foo() + h.() /*~> Unit */ + h.foo() + j.#a /*~> Unit */ + j.foo() + k.() /*~> Unit */ + k.foo() + l.#a /*~> Unit */ + l.foo() + m.#a /*~> Unit */ + m.foo() + n.#a /*~> Unit */ + n.foo() + o.#a /*~> Unit */ + o.foo() + p.#a /*~> Unit */ + p.foo() + q.#a /*~> Unit */ + q.foo() + r.() /*~> Unit */ + r.foo() + s.#a /*~> Unit */ + s.foo() + t.#a /*~> Unit */ + t.foo() + u.#a /*~> Unit */ + u.foo() + v.#a /*~> Unit */ + v.foo() + w.#a /*~> Unit */ + w.foo() + x.#a /*~> Unit */ + x.foo() + aa.#a /*~> Unit */ + cc.#a /*~> Unit */ + cc.foo() + dd.#a /*~> Unit */ + dd.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.sig.kt.txt new file mode 100644 index 00000000000..a0266740a7a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.fir.sig.kt.txt @@ -0,0 +1,914 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: AA +// Public signature: /AA|null[0] +class AA : Java15 { + // CHECK: + // Mangled name: AA#(){} + // Public signature: /AA.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: AA#foo(){} + // Public signature: /AA.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: BB +// Public signature: /BB|null[0] +class BB : Java16 { + // CHECK: + // Mangled name: BB#(){} + // Public signature: /BB.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: BB{}a + // Public signature: /BB.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: BB#(){}kotlin.Int + // Public signature: /BB.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: CC +// Public signature: /CC|null[0] +class CC : Java17 { + // CHECK: + // Mangled name: CC#(){} + // Public signature: /CC.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: CC#foo(){} + // Public signature: /CC.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: CC{}a + // Public signature: /CC.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: CC#(){}kotlin.Int + // Public signature: /CC.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + +} + +// CHECK: +// Mangled name: DD +// Public signature: /DD|null[0] +class DD : Java17 { + // CHECK: + // Mangled name: DD#(){} + // Public signature: /DD.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: DD#foo(){} + // Public signature: /DD.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal override fun foo(): Unit + + // CHECK: + // Mangled name: DD{}a + // Public signature: /DD.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: DD#(){}kotlin.Int + // Public signature: /DD.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: DefaultVisibility +// Public signature: /DefaultVisibility|null[0] +open class DefaultVisibility { + // CHECK: + // Mangled name: DefaultVisibility{}a + // Public signature: /DefaultVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: DefaultVisibility#(){}kotlin.Int + // Public signature: /DefaultVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: DefaultVisibility#(){} + // Public signature: /DefaultVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: DefaultVisibility#foo(){} + // Public signature: /DefaultVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + open fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: InternalVisibility +// Public signature: /InternalVisibility|null[0] +open class InternalVisibility { + // CHECK: + // Mangled name: InternalVisibility{}a + // Public signature: /InternalVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: InternalVisibility#(){}kotlin.Int + // Public signature: /InternalVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get + + // CHECK: + // Mangled name: InternalVisibility#(){} + // Public signature: /InternalVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: InternalVisibility#foo(){} + // Public signature: /InternalVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java6 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java6 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java7 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : Java8 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#foo(){} + // Public signature: /M.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: M{}a + // Public signature: /M.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : Java8 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#foo(){} + // Public signature: /N.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: N{}a + // Public signature: /N.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +class O : Java9 { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: O#foo(){} + // Public signature: /O.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: P +// Public signature: /P|null[0] +class P : Java9 { + // CHECK: + // Mangled name: P#(){} + // Public signature: /P.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: P#foo(){} + // Public signature: /P.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: PrivateVisibility +// Public signature: /PrivateVisibility|null[0] +open class PrivateVisibility { + // CHECK: + // Mangled name: PrivateVisibility{}a + // Public signature: /PrivateVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + private val a: Int + // CHECK JVM_IR: + // Mangled name: PrivateVisibility#(){}kotlin.Int + // Public signature: /PrivateVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: PrivateVisibility#(){} + // Public signature: /PrivateVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: PrivateVisibility#foo(){} + // Public signature: /PrivateVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + private fun foo(): Unit + +} + +// CHECK: +// Mangled name: ProtectedVisibility +// Public signature: /ProtectedVisibility|null[0] +open class ProtectedVisibility { + // CHECK: + // Mangled name: ProtectedVisibility{}a + // Public signature: /ProtectedVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected open val a: Int + // CHECK JVM_IR: + // Mangled name: ProtectedVisibility#(){}kotlin.Int + // Public signature: /ProtectedVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected open get + + // CHECK: + // Mangled name: ProtectedVisibility#(){} + // Public signature: /ProtectedVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: ProtectedVisibility#foo(){} + // Public signature: /ProtectedVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected open fun foo(): Unit + +} + +// CHECK: +// Mangled name: PublicVisibility +// Public signature: /PublicVisibility|null[0] +open class PublicVisibility { + // CHECK: + // Mangled name: PublicVisibility{}a + // Public signature: /PublicVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: PublicVisibility#(){}kotlin.Int + // Public signature: /PublicVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: PublicVisibility#(){} + // Public signature: /PublicVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: PublicVisibility#foo(){} + // Public signature: /PublicVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + open fun foo(): Unit + +} + +// CHECK: +// Mangled name: Q +// Public signature: /Q|null[0] +class Q : Java10 { + // CHECK: + // Mangled name: Q#(){} + // Public signature: /Q.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: Q#foo(){} + // Public signature: /Q.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: Q{}a + // Public signature: /Q.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: Q#(){}kotlin.Int + // Public signature: /Q.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: R +// Public signature: /R|null[0] +class R : Java10 { + // CHECK: + // Mangled name: R#(){} + // Public signature: /R.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: R#foo(){} + // Public signature: /R.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: R{}a + // Public signature: /R.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: R#(){}kotlin.Int + // Public signature: /R.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: S +// Public signature: /S|null[0] +class S : Java11 { + // CHECK: + // Mangled name: S#(){} + // Public signature: /S.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: S#foo(){} + // Public signature: /S.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: S{}a + // Public signature: /S.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: S#(){}kotlin.Int + // Public signature: /S.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: T +// Public signature: /T|null[0] +class T : Java11 { + // CHECK: + // Mangled name: T#(){} + // Public signature: /T.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: T#foo(){} + // Public signature: /T.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: T{}a + // Public signature: /T.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: T#(){}kotlin.Int + // Public signature: /T.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: U +// Public signature: /U|null[0] +class U : Java12 { + // CHECK: + // Mangled name: U#(){} + // Public signature: /U.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: U#foo(){} + // Public signature: /U.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: U{}a + // Public signature: /U.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: U#(){}kotlin.Int + // Public signature: /U.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: V +// Public signature: /V|null[0] +class V : Java12 { + // CHECK: + // Mangled name: V#(){} + // Public signature: /V.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: V#foo(){} + // Public signature: /V.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: V{}a + // Public signature: /V.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: V#(){}kotlin.Int + // Public signature: /V.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: W +// Public signature: /W|null[0] +class W : Java13 { + // CHECK: + // Mangled name: W#(){} + // Public signature: /W.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: W#foo(){} + // Public signature: /W.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: X +// Public signature: /X|null[0] +class X : Java13 { + // CHECK: + // Mangled name: X#(){} + // Public signature: /X.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: X#foo(){} + // Public signature: /X.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: Y +// Public signature: /Y|null[0] +class Y : Java14 { + // CHECK: + // Mangled name: Y#(){} + // Public signature: /Y.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: Z +// Public signature: /Z|null[0] +class Z : Java15 { + // CHECK: + // Mangled name: Z#(){} + // Public signature: /Z.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: Z#foo(){} + // Public signature: /Z.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;D;F;G;H;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;AA;CC;DD){} +// Public signature: /test|851908710130652868[0] +// Public signature debug description: test(A;B;D;F;G;H;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;AA;CC;DD){} +fun test(a: A, b: B, d: D, f: F, g: G, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, aa: AA, cc: CC, dd: DD): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.ir.txt new file mode 100644 index 00000000000..2e9086acb41 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.ir.txt @@ -0,0 +1,1193 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.PublicVisibility) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.PublicVisibility + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.PublicVisibility + CLASS CLASS name:AA modality:FINAL visibility:public superTypes:[.Java15] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.AA + CONSTRUCTOR visibility:public <> () returnType:.AA [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java15' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AA modality:FINAL visibility:public superTypes:[.Java15]' + 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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java15 + $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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.AA) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java15 + $this: VALUE_PARAMETER name: type:.AA + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.PublicVisibility + CLASS CLASS name:BB modality:FINAL visibility:public superTypes:[.Java16] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.BB + CONSTRUCTOR visibility:public <> () returnType:.BB [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java16' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:BB modality:FINAL visibility:public superTypes:[.Java16]' + 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 .Java16 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java16 + $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 .Java16 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:CC modality:FINAL visibility:public superTypes:[.Java17] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CC + CONSTRUCTOR visibility:public <> () returnType:.CC [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java17' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CC modality:FINAL visibility:public superTypes:[.Java17]' + 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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java17) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java17 + $this: VALUE_PARAMETER name: type:.Java17 + 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 .Java17 + $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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=55 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:DD modality:FINAL visibility:public superTypes:[.Java17] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DD + CONSTRUCTOR visibility:public <> () returnType:.DD [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java17' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DD modality:FINAL visibility:public superTypes:[.Java17]' + 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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java17 + $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 .Java17 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.DD) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java17 + $this: VALUE_PARAMETER name: type:.DD + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:DefaultVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.DefaultVisibility + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.DefaultVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .DefaultVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .DefaultVisibility declared in .DefaultVisibility.' type=.DefaultVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.DefaultVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DefaultVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.DefaultVisibility + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Unit [fake_override] + overridden: + protected open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:.DefaultVisibility) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.DefaultVisibility + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.DefaultVisibility + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InternalVisibility + PROPERTY name:a visibility:internal modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .InternalVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .InternalVisibility declared in .InternalVisibility.' type=.InternalVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.InternalVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $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:.Java6) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java6 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java6 + $this: VALUE_PARAMETER name: type:.PublicVisibility + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java6 + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $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:.Java7) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.Java7 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $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:.Java8) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.Java8 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java8 + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java8 + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .N' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $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:.Java9) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.Java9 + 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 .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.Java9] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java9' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.Java9]' + 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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java9 + $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 .Java9 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java9 + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:PrivateVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PrivateVisibility + PROPERTY name:a visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.PrivateVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.PrivateVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .PrivateVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .PrivateVisibility declared in .PrivateVisibility.' type=.PrivateVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.PrivateVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:PrivateVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.PrivateVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.PrivateVisibility + BLOCK_BODY + CLASS CLASS name:ProtectedVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ProtectedVisibility + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .ProtectedVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ProtectedVisibility declared in .ProtectedVisibility.' type=.ProtectedVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.ProtectedVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ProtectedVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + BLOCK_BODY + CLASS CLASS name:PublicVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.PublicVisibility + PROPERTY name:a visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.PublicVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .PublicVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .PublicVisibility declared in .PublicVisibility.' type=.PublicVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.PublicVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:PublicVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.PublicVisibility) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.PublicVisibility + BLOCK_BODY + CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $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:.Java10) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.Java10 + 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 .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.DefaultVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .Java10 + $this: VALUE_PARAMETER name: type:.DefaultVisibility + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.Java10] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java10' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.Java10]' + 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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java10 + $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 .Java10 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java10 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .Java10 + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.S + CONSTRUCTOR visibility:public <> () returnType:.S [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java11) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.Java11 + 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 .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.ProtectedVisibility) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:protected modality:OPEN [fake_override,val] + overridden: + protected open fun (): kotlin.Int declared in .Java11 + $this: VALUE_PARAMETER name: type:.ProtectedVisibility + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.Java11] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.T + CONSTRUCTOR visibility:public <> () returnType:.T [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java11' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.Java11]' + 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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java11 + $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 .Java11 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.T) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java11 + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.T) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .Java11 + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .T' + CONST Int type=kotlin.Int value=55 + CLASS CLASS name:U modality:FINAL visibility:public superTypes:[.Java12] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.U + CONSTRUCTOR visibility:public <> () returnType:.U [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java12' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:U modality:FINAL visibility:public superTypes:[.Java12]' + 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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java12) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java12 + $this: VALUE_PARAMETER name: type:.Java12 + 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 .Java12 + $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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:V modality:FINAL visibility:public superTypes:[.Java12] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.V + CONSTRUCTOR visibility:public <> () returnType:.V [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java12' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:V modality:FINAL visibility:public superTypes:[.Java12]' + 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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java12 + $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 .Java12 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.V) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java12 + $this: VALUE_PARAMETER name: type:.V + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:W modality:FINAL visibility:public superTypes:[.Java13] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.W + CONSTRUCTOR visibility:public <> () returnType:.W [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java13' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:W modality:FINAL visibility:public superTypes:[.Java13]' + 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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java13) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java13 + $this: VALUE_PARAMETER name: type:.Java13 + 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 .Java13 + $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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:X modality:FINAL visibility:public superTypes:[.Java13] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.X + CONSTRUCTOR visibility:public <> () returnType:.X [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java13' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:X modality:FINAL visibility:public superTypes:[.Java13]' + 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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java13 + $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 .Java13 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.X) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java13 + $this: VALUE_PARAMETER name: type:.X + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:Y modality:FINAL visibility:public superTypes:[.Java14] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Y + CONSTRUCTOR visibility:public <> () returnType:.Y [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java14' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Y modality:FINAL visibility:public superTypes:[.Java14]' + 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 .Java14 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java14 + $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 .Java14 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[.Java15] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z + CONSTRUCTOR visibility:public <> () returnType:.Z [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java15' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Z modality:FINAL visibility:public superTypes:[.Java15]' + 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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java15) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java15 + $this: VALUE_PARAMETER name: type:.Java15 + 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 .Java15 + $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 .Java15 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, d:.D, f:.F, g:.G, h:.H, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R, s:.S, t:.T, u:.U, v:.V, w:.W, x:.X, aa:.AA, cc:.CC, dd:.DD) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:d index:2 type:.D + VALUE_PARAMETER name:f index:3 type:.F + VALUE_PARAMETER name:g index:4 type:.G + VALUE_PARAMETER name:h index:5 type:.H + VALUE_PARAMETER name:j index:6 type:.J + VALUE_PARAMETER name:k index:7 type:.K + VALUE_PARAMETER name:l index:8 type:.L + VALUE_PARAMETER name:m index:9 type:.M + VALUE_PARAMETER name:n index:10 type:.N + VALUE_PARAMETER name:o index:11 type:.O + VALUE_PARAMETER name:p index:12 type:.P + VALUE_PARAMETER name:q index:13 type:.Q + VALUE_PARAMETER name:r index:14 type:.R + VALUE_PARAMETER name:s index:15 type:.S + VALUE_PARAMETER name:t index:16 type:.T + VALUE_PARAMETER name:u index:17 type:.U + VALUE_PARAMETER name:v index:18 type:.V + VALUE_PARAMETER name:w index:19 type:.W + VALUE_PARAMETER name:x index:20 type:.X + VALUE_PARAMETER name:aa index:21 type:.AA + VALUE_PARAMETER name:cc index:22 type:.CC + VALUE_PARAMETER name:dd index:23 type:.DD + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 't: .T declared in .test' type=.T origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'u: .U declared in .test' type=.U origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .U' type=kotlin.Unit origin=null + $this: GET_VAR 'u: .U declared in .test' type=.U origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'v: .V declared in .test' type=.V origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .V' type=kotlin.Unit origin=null + $this: GET_VAR 'v: .V declared in .test' type=.V origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'w: .W declared in .test' type=.W origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .W' type=kotlin.Unit origin=null + $this: GET_VAR 'w: .W declared in .test' type=.W origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'x: .X declared in .test' type=.X origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .X' type=kotlin.Unit origin=null + $this: GET_VAR 'x: .X declared in .test' type=.X origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'aa: .AA declared in .test' type=.AA origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'cc: .CC declared in .test' type=.CC origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .CC' type=kotlin.Unit origin=null + $this: GET_VAR 'cc: .CC declared in .test' type=.CC origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'dd: .DD declared in .test' type=.DD origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .DD' type=kotlin.Unit origin=null + $this: GET_VAR 'dd: .DD declared in .test' type=.DD origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt new file mode 100644 index 00000000000..89f081d559b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt @@ -0,0 +1,268 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65679 + +// FILE: Java1.java +public class Java1 extends PublicVisibility { } + +// FILE: Java2.java +public class Java2 extends PrivateVisibility { } + +// FILE: Java3.java +public class Java3 extends ProtectedVisibility { } + +// FILE: Java4.java +public class Java4 extends DefaultVisibility { } + +// FILE: Java5.java +public class Java5 extends InternalVisibility { } + +// FILE: Java6.java +public class Java6 extends PublicVisibility { + public int a = 5; + public void foo(){} +} + +// FILE: Java7.java +public class Java7 extends InternalVisibility { + public int a = 7; + public void foo(){} +} + +// FILE: Java8.java +public class Java8 extends ProtectedVisibility { + public int a = 8; + public void foo() {} +} + +// FILE: Java9.java +public class Java9 extends PrivateVisibility { + public int a = 9; + public void foo() {} +} + +// FILE: Java10.java +public class Java10 extends DefaultVisibility { + public int a = 10; + public void foo() {} +} + +// FILE: Java11.java +public class Java11 extends ProtectedVisibility { + protected int a = 11; + protected void foo() {} +} + +// FILE: Java12.java +public class Java12 extends InternalVisibility { + protected int a = 12; + protected void foo() {} +} + +// FILE: Java13.java +public class Java13 extends PrivateVisibility { + protected int a = 13; + protected void foo() {} +} + +// FILE: Java14.java +public class Java14 extends PrivateVisibility { + private int a = 14; + private void foo() {} +} + +// FILE: Java15.java +public class Java15 extends PrivateVisibility { + int a = 15; + void foo() {} +} + +// FILE: Java16.java +public class Java16 extends InternalVisibility { + private int a = 16; + private void foo() {} +} + +// FILE: Java17.java +public class Java17 extends InternalVisibility { + int a = 17; + void foo(){} +} + +// FILE: test.kt +class A : Java1() //public + +class B : Java1() { + override fun foo() {} +} + +class C : Java2() //private + +class D : Java2() { + fun foo() { } + val a: Int = 55 +} + +class E : Java3() //protected + +class F : Java3() { + public override fun foo() {} + public override val a: Int + get() = 55 +} + +class G : Java4() //default + +class H : Java4() { + override fun foo() {} + override val a: Int + get() = 55 +} + +class I : Java5() // internal + +class J : Java6() //public + public + +class K : Java6() { + override fun foo() {} + override val a: Int + get() = 55 +} + +class L : Java7() //public + internal + +class M : Java8() //public + protected + +class N : Java8() { + public override fun foo() {} + override val a: Int + get() = 55 +} + +class O : Java9() //public + private + +class P : Java9() { + public override fun foo() {} +} + +class Q : Java10() //public + default + +class R : Java10() { + public override fun foo() {} + override val a: Int + get() = 55 +} + +class S : Java11() //protected + protected + +class T : Java11() { + public override fun foo() {} + override val a: Int + get() = 55 +} + +class U : Java12() //protected + internal + +class V : Java12() { + public override fun foo() {} +} + +class W : Java13() //protected + private + +class X : Java13() { + public override fun foo() {} +} + +class Y : Java14() //private + private + +class Z : Java15() //private + default + +class AA : Java15() { + protected override fun foo() {} +} + +class BB : Java16() //private + internal + +class CC : Java17() //default + internal + +class DD : Java17() { + internal override fun foo() {} +} + +open class PublicVisibility { + public open val a: Int = 1 + public open fun foo() {} +} + +open class PrivateVisibility { + private val a: Int = 2 + private fun foo() { } +} + +open class ProtectedVisibility { + protected open val a: Int = 3 + protected open fun foo() { } +} + +open class InternalVisibility { + internal open val a: Int = 4 + internal open fun foo() { } +} + +open class DefaultVisibility { + open val a: Int = 4 + open fun foo() { } +} + +fun test( + a: A, b: B, d: D, f: F, g: G, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, + q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, aa: AA, cc: CC, dd: DD +) { + a.a + a.foo() + b.a + b.foo() + d.a + d.foo() + f.a + f.foo() + g.a + g.foo() + h.a + h.foo() + j.a + j.foo() + k.a + k.foo() + l.a + l.foo() + m.a + m.foo() + n.a + n.foo() + o.a + o.foo() + p.a + p.foo() + q.a + q.foo() + r.a + r.foo() + s.a + s.foo() + t.a + t.foo() + u.a + u.foo() + v.a + v.foo() + w.a + w.foo() + x.a + x.foo() + aa.a + cc.a + cc.foo() + dd.a + dd.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt.txt new file mode 100644 index 00000000000..e8b5557ffba --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt.txt @@ -0,0 +1,472 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class AA : Java15 { + constructor() /* primary */ { + super/*Java15*/() + /* () */ + + } + + protected override fun foo() { + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class BB : Java16 { + constructor() /* primary */ { + super/*Java16*/() + /* () */ + + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class CC : Java17 { + constructor() /* primary */ { + super/*Java17*/() + /* () */ + + } + +} + +class D : Java2 { + val a: Int + field = 55 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + fun foo() { + } + +} + +class DD : Java17 { + constructor() /* primary */ { + super/*Java17*/() + /* () */ + + } + + internal override fun foo() { + } + +} + +open class DefaultVisibility { + open val a: Int + field = 4 + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +open class InternalVisibility { + internal open val a: Int + field = 4 + internal open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + +} + +class J : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class K : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class L : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class M : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +class N : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 55 + } + +} + +class O : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + +} + +class P : Java9 { + constructor() /* primary */ { + super/*Java9*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class PrivateVisibility { + private val a: Int + field = 2 + private get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private fun foo() { + } + +} + +open class ProtectedVisibility { + protected open val a: Int + field = 3 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +open class PublicVisibility { + open val a: Int + field = 1 + open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun foo() { + } + +} + +class Q : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + +} + +class R : Java10 { + constructor() /* primary */ { + super/*Java10*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 55 + } + +} + +class S : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + +} + +class T : Java11 { + constructor() /* primary */ { + super/*Java11*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 55 + } + +} + +class U : Java12 { + constructor() /* primary */ { + super/*Java12*/() + /* () */ + + } + +} + +class V : Java12 { + constructor() /* primary */ { + super/*Java12*/() + /* () */ + + } + + override fun foo() { + } + +} + +class W : Java13 { + constructor() /* primary */ { + super/*Java13*/() + /* () */ + + } + +} + +class X : Java13 { + constructor() /* primary */ { + super/*Java13*/() + /* () */ + + } + + override fun foo() { + } + +} + +class Y : Java14 { + constructor() /* primary */ { + super/*Java14*/() + /* () */ + + } + +} + +class Z : Java15 { + constructor() /* primary */ { + super/*Java15*/() + /* () */ + + } + +} + +fun test(a: A, b: B, d: D, f: F, g: G, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, aa: AA, cc: CC, dd: DD) { + a.() /*~> Unit */ + a.foo() + b.() /*~> Unit */ + b.foo() + d.() /*~> Unit */ + d.foo() + f.() /*~> Unit */ + f.foo() + g.() /*~> Unit */ + g.foo() + h.() /*~> Unit */ + h.foo() + j(super).#a /*~> Unit */ + j.foo() + k(super).#a /*~> Unit */ + k.foo() + l(super).#a /*~> Unit */ + l.foo() + m(super).#a /*~> Unit */ + m.foo() + n(super).#a /*~> Unit */ + n.foo() + o(super).#a /*~> Unit */ + o.foo() + p(super

).#a /*~> Unit */ + p.foo() + q(super).#a /*~> Unit */ + q.foo() + r(super).#a /*~> Unit */ + r.foo() + s(super).#a /*~> Unit */ + s.foo() + t(super).#a /*~> Unit */ + t.foo() + u(super).#a /*~> Unit */ + u.foo() + v(super).#a /*~> Unit */ + v.foo() + w(super).#a /*~> Unit */ + w.foo() + x(super).#a /*~> Unit */ + x.foo() + aa(super).#a /*~> Unit */ + cc(super).#a /*~> Unit */ + cc.foo() + dd(super

).#a /*~> Unit */ + dd.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.sig.kt.txt new file mode 100644 index 00000000000..a129fe68be7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.sig.kt.txt @@ -0,0 +1,831 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: AA +// Public signature: /AA|null[0] +class AA : Java15 { + // CHECK: + // Mangled name: AA#(){} + // Public signature: /AA.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: AA#foo(){} + // Public signature: /AA.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: BB +// Public signature: /BB|null[0] +class BB : Java16 { + // CHECK: + // Mangled name: BB#(){} + // Public signature: /BB.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: CC +// Public signature: /CC|null[0] +class CC : Java17 { + // CHECK: + // Mangled name: CC#(){} + // Public signature: /CC.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: CC#foo(){} + // Public signature: /CC.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + +} + +// CHECK: +// Mangled name: DD +// Public signature: /DD|null[0] +class DD : Java17 { + // CHECK: + // Mangled name: DD#(){} + // Public signature: /DD.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: DD#foo(){} + // Public signature: /DD.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal override fun foo(): Unit + +} + +// CHECK: +// Mangled name: DefaultVisibility +// Public signature: /DefaultVisibility|null[0] +open class DefaultVisibility { + // CHECK: + // Mangled name: DefaultVisibility{}a + // Public signature: /DefaultVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: DefaultVisibility#(){}kotlin.Int + // Public signature: /DefaultVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: DefaultVisibility#(){} + // Public signature: /DefaultVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: DefaultVisibility#foo(){} + // Public signature: /DefaultVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + open fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: InternalVisibility +// Public signature: /InternalVisibility|null[0] +open class InternalVisibility { + // CHECK: + // Mangled name: InternalVisibility{}a + // Public signature: /InternalVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: InternalVisibility#(){}kotlin.Int + // Public signature: /InternalVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get + + // CHECK: + // Mangled name: InternalVisibility#(){} + // Public signature: /InternalVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: InternalVisibility#foo(){} + // Public signature: /InternalVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java6 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : Java6 { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : Java7 { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : Java8 { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#foo(){} + // Public signature: /M.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: M{}a + // Public signature: /M.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : Java8 { + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#foo(){} + // Public signature: /N.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: N{}a + // Public signature: /N.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +class O : Java9 { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: O#foo(){} + // Public signature: /O.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: P +// Public signature: /P|null[0] +class P : Java9 { + // CHECK: + // Mangled name: P#(){} + // Public signature: /P.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: P#foo(){} + // Public signature: /P.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: PrivateVisibility +// Public signature: /PrivateVisibility|null[0] +open class PrivateVisibility { + // CHECK: + // Mangled name: PrivateVisibility{}a + // Public signature: /PrivateVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + private val a: Int + // CHECK JVM_IR: + // Mangled name: PrivateVisibility#(){}kotlin.Int + // Public signature: /PrivateVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + private get + + // CHECK: + // Mangled name: PrivateVisibility#(){} + // Public signature: /PrivateVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: PrivateVisibility#foo(){} + // Public signature: /PrivateVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + private fun foo(): Unit + +} + +// CHECK: +// Mangled name: ProtectedVisibility +// Public signature: /ProtectedVisibility|null[0] +open class ProtectedVisibility { + // CHECK: + // Mangled name: ProtectedVisibility{}a + // Public signature: /ProtectedVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected open val a: Int + // CHECK JVM_IR: + // Mangled name: ProtectedVisibility#(){}kotlin.Int + // Public signature: /ProtectedVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected open get + + // CHECK: + // Mangled name: ProtectedVisibility#(){} + // Public signature: /ProtectedVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: ProtectedVisibility#foo(){} + // Public signature: /ProtectedVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected open fun foo(): Unit + +} + +// CHECK: +// Mangled name: PublicVisibility +// Public signature: /PublicVisibility|null[0] +open class PublicVisibility { + // CHECK: + // Mangled name: PublicVisibility{}a + // Public signature: /PublicVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + open val a: Int + // CHECK JVM_IR: + // Mangled name: PublicVisibility#(){}kotlin.Int + // Public signature: /PublicVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + open get + + // CHECK: + // Mangled name: PublicVisibility#(){} + // Public signature: /PublicVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: PublicVisibility#foo(){} + // Public signature: /PublicVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + open fun foo(): Unit + +} + +// CHECK: +// Mangled name: Q +// Public signature: /Q|null[0] +class Q : Java10 { + // CHECK: + // Mangled name: Q#(){} + // Public signature: /Q.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: Q#foo(){} + // Public signature: /Q.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: Q{}a + // Public signature: /Q.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: Q#(){}kotlin.Int + // Public signature: /Q.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: R +// Public signature: /R|null[0] +class R : Java10 { + // CHECK: + // Mangled name: R#(){} + // Public signature: /R.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: R#foo(){} + // Public signature: /R.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: R{}a + // Public signature: /R.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: R#(){}kotlin.Int + // Public signature: /R.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: S +// Public signature: /S|null[0] +class S : Java11 { + // CHECK: + // Mangled name: S#(){} + // Public signature: /S.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: S#foo(){} + // Public signature: /S.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: S{}a + // Public signature: /S.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: S#(){}kotlin.Int + // Public signature: /S.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: T +// Public signature: /T|null[0] +class T : Java11 { + // CHECK: + // Mangled name: T#(){} + // Public signature: /T.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: T#foo(){} + // Public signature: /T.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: T{}a + // Public signature: /T.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: T#(){}kotlin.Int + // Public signature: /T.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: U +// Public signature: /U|null[0] +class U : Java12 { + // CHECK: + // Mangled name: U#(){} + // Public signature: /U.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: U#foo(){} + // Public signature: /U.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: V +// Public signature: /V|null[0] +class V : Java12 { + // CHECK: + // Mangled name: V#(){} + // Public signature: /V.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: V#foo(){} + // Public signature: /V.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: W +// Public signature: /W|null[0] +class W : Java13 { + // CHECK: + // Mangled name: W#(){} + // Public signature: /W.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: W#foo(){} + // Public signature: /W.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: X +// Public signature: /X|null[0] +class X : Java13 { + // CHECK: + // Mangled name: X#(){} + // Public signature: /X.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: X#foo(){} + // Public signature: /X.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: Y +// Public signature: /Y|null[0] +class Y : Java14 { + // CHECK: + // Mangled name: Y#(){} + // Public signature: /Y.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: Z +// Public signature: /Z|null[0] +class Z : Java15 { + // CHECK: + // Mangled name: Z#(){} + // Public signature: /Z.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: Z#foo(){} + // Public signature: /Z.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;D;F;G;H;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;AA;CC;DD){} +// Public signature: /test|851908710130652868[0] +// Public signature debug description: test(A;B;D;F;G;H;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;AA;CC;DD){} +fun test(a: A, b: B, d: D, f: F, g: G, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V, w: W, x: X, aa: AA, cc: CC, dd: DD): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.ir.txt new file mode 100644 index 00000000000..0e6f01b2da9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.ir.txt @@ -0,0 +1,408 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaSeparate1) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.JavaSeparate1 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.JavaSeparate2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.JavaSeparate2 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass3 modality:OPEN visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass3 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass3 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass3 modality:OPEN visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass4 modality:OPEN visibility:public superTypes:[.JavaSeparate1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass4 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass4 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaSeparate1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass4 modality:OPEN visibility:public superTypes:[.JavaSeparate1]' + 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 .JavaSeparate1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaSeparate1) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaSeparate1 + $this: VALUE_PARAMETER name: type:.JavaSeparate1 + 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 .JavaSeparate1 + $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 .JavaSeparate1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinClass5 modality:OPEN visibility:public superTypes:[.JavaSeparate2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass5 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass5 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaSeparate2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass5 modality:OPEN visibility:public superTypes:[.JavaSeparate2]' + 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 .JavaSeparate2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.JavaSeparate2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .JavaSeparate2 + $this: VALUE_PARAMETER name: type:.JavaSeparate2 + 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 .JavaSeparate2 + $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 .JavaSeparate2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:h index:5 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.kt.txt new file mode 100644 index 00000000000..6605a9ee5a8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.fir.kt.txt @@ -0,0 +1,171 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class D : Java4 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class F : Java6 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + +} + +class G : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class H : Java7 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass2 : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass3 : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +open class KotlinClass4 : JavaSeparate1 { + constructor() /* primary */ { + super/*JavaSeparate1*/() + /* () */ + + } + +} + +open class KotlinClass5 : JavaSeparate2 { + constructor() /* primary */ { + super/*JavaSeparate2*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, h: H) { + a.#a /*~> Unit */ + a.foo() + b.() /*~> Unit */ + b.foo() + c.#a /*~> Unit */ + c.foo() + d.foo() + e.#a /*~> Unit */ + e.foo() + h.() /*~> Unit */ + h.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.ir.txt new file mode 100644 index 00000000000..9cfea289b86 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.ir.txt @@ -0,0 +1,450 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .D' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .D declared in .D.' type=.D origin=null + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java6] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java6]' + 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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java6 + $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 .Java6 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java6 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaSeparate1) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.JavaSeparate1 + 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 .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java7] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=3 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java7' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java7]' + 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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java7 + $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 .Java7 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java7 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java8] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java8' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java8]' + 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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.JavaSeparate2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java8 + $this: VALUE_PARAMETER name: type:.JavaSeparate2 + 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 .Java8 + $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 .Java8 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass modality:OPEN visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass2 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass2 modality:OPEN visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:KotlinClass3 modality:OPEN visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass3 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass3 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass3 modality:OPEN visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:KotlinClass4 modality:OPEN visibility:public superTypes:[.JavaSeparate1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass4 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass4 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaSeparate1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass4 modality:OPEN visibility:public superTypes:[.JavaSeparate1]' + 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 .JavaSeparate1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaSeparate1) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaSeparate1 + $this: VALUE_PARAMETER name: type:.JavaSeparate1 + 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 .JavaSeparate1 + $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 .JavaSeparate1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:KotlinClass5 modality:OPEN visibility:public superTypes:[.JavaSeparate2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinClass5 + CONSTRUCTOR visibility:public <> () returnType:.KotlinClass5 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaSeparate2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinClass5 modality:OPEN visibility:public superTypes:[.JavaSeparate2]' + 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 .JavaSeparate2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.JavaSeparate2) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .JavaSeparate2 + $this: VALUE_PARAMETER name: type:.JavaSeparate2 + 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 .JavaSeparate2 + $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 .JavaSeparate2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:h index:5 type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt new file mode 100644 index 00000000000..ace1e022b4b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt @@ -0,0 +1,103 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: JavaSeparate1.java +public class JavaSeparate1 { + protected int a = 22; + protected void foo(){} +} + +// FILE: JavaSeparate2.java +public class JavaSeparate2 { + int a = 23; + void foo() {} +} + +// MODULE: main +// FILE: Java1.java +public class Java1 { + public int a = 1; + public void foo() {} +} + +// FILE: Java2.java +public class Java2 extends KotlinClass { } + +// FILE: Java3.java +public class Java3 { + protected int a = 3; + protected void foo(){} +} + +// FILE: Java4.java +public class Java4 extends KotlinClass2 { } + +// FILE: Java5.java +public class Java5 { + int a = 5; + void foo() {} +} + +// FILE: Java6.java +public class Java6 extends KotlinClass3 { } + +// FILE: Java7.java +public class Java7 extends KotlinClass4 { } + +// FILE: Java8.java +public class Java8 extends KotlinClass5 { } + +// FILE: test.kt +class A : Java2() + +class B : Java2() { + override fun foo() {} + val a = 3 +} + +class C : Java4() + +class D : Java4() { + public override fun foo() {} + val a = 3 +} + +class E : Java6() + +class F : Java6() { + public override fun foo() {} + val a = 3 +} + +class G : Java7() + +class H : Java7() { + public override fun foo() {} + val a = 3 +} + +class I: Java8() + +open class KotlinClass : Java1() + +open class KotlinClass2: Java3() + +open class KotlinClass3 : Java5() + +open class KotlinClass4 : JavaSeparate1() + +open class KotlinClass5 : JavaSeparate2() + +fun test(a: A, b: B, c: C, d: D, e: E, h: H) { + a.a + a.foo() + b.a + b.foo() + c.a + c.foo() + d.foo() + e.a + e.foo() + h.a + h.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt.txt new file mode 100644 index 00000000000..f62b94295ba --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt.txt @@ -0,0 +1,171 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +class A : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class B : Java2 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class D : Java4 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java6 { + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + +} + +class F : Java6 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java6*/() + /* () */ + + } + + override fun foo() { + } + +} + +class G : Java7 { + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + +} + +class H : Java7 { + val a: Int + field = 3 + get + + constructor() /* primary */ { + super/*Java7*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java8 { + constructor() /* primary */ { + super/*Java8*/() + /* () */ + + } + +} + +open class KotlinClass : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +open class KotlinClass2 : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +open class KotlinClass3 : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +open class KotlinClass4 : JavaSeparate1 { + constructor() /* primary */ { + super/*JavaSeparate1*/() + /* () */ + + } + +} + +open class KotlinClass5 : JavaSeparate2 { + constructor() /* primary */ { + super/*JavaSeparate2*/() + /* () */ + + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, h: H) { + a(super).#a /*~> Unit */ + a.foo() + b(super).#a /*~> Unit */ + b.foo() + c(super).#a /*~> Unit */ + c.foo() + d.foo() + e(super).#a /*~> Unit */ + e.foo() + h(super).#a /*~> Unit */ + h.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.sig.kt.txt new file mode 100644 index 00000000000..ffd23c3abd3 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.sig.kt.txt @@ -0,0 +1,305 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java2 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java4 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java4 { + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java6 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java6 { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java7 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java7 { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java8 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass +// Public signature: /KotlinClass|null[0] +open class KotlinClass : Java1 { + // CHECK: + // Mangled name: KotlinClass#(){} + // Public signature: /KotlinClass.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass#foo(){} + // Public signature: /KotlinClass.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass2 +// Public signature: /KotlinClass2|null[0] +open class KotlinClass2 : Java3 { + // CHECK: + // Mangled name: KotlinClass2#(){} + // Public signature: /KotlinClass2.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass2#foo(){} + // Public signature: /KotlinClass2.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass3 +// Public signature: /KotlinClass3|null[0] +open class KotlinClass3 : Java5 { + // CHECK: + // Mangled name: KotlinClass3#(){} + // Public signature: /KotlinClass3.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass3#foo(){} + // Public signature: /KotlinClass3.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass4 +// Public signature: /KotlinClass4|null[0] +open class KotlinClass4 : JavaSeparate1 { + // CHECK: + // Mangled name: KotlinClass4#(){} + // Public signature: /KotlinClass4.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass4#foo(){} + // Public signature: /KotlinClass4.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinClass5 +// Public signature: /KotlinClass5|null[0] +open class KotlinClass5 : JavaSeparate2 { + // CHECK: + // Mangled name: KotlinClass5#(){} + // Public signature: /KotlinClass5.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinClass5#foo(){} + // Public signature: /KotlinClass5.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;H){} +// Public signature: /test|-3642480073833557067[0] +// Public signature debug description: test(A;B;C;D;E;H){} +fun test(a: A, b: B, c: C, d: D, e: E, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.ir.txt new file mode 100644 index 00000000000..ad670c72876 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.ir.txt @@ -0,0 +1,300 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java4) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .J' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .J declared in .J.' type=.J origin=null + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.kt.txt new file mode 100644 index 00000000000..4dfb7e9ec7c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.fir.kt.txt @@ -0,0 +1,133 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.#a /*~> Unit */ + a.foo() + b.#a /*~> Unit */ + b.foo() + c.#a /*~> Unit */ + c.foo() + d.#a /*~> Unit */ + d.foo() + e.#a /*~> Unit */ + e.foo() + f.#a /*~> Unit */ + f.foo() + g.#a /*~> Unit */ + g.foo() + h.#a /*~> Unit */ + h.foo() + j.() /*~> Unit */ + j.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.ir.txt new file mode 100644 index 00000000000..a8e3d9ec2aa --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.ir.txt @@ -0,0 +1,324 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java4) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .J' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .J declared in .J.' type=.J origin=null + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public final fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt new file mode 100644 index 00000000000..b1f43323a2f --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt @@ -0,0 +1,105 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: JavaSeparate1.java +public class JavaSeparate1 { + protected int a = 22; + protected void foo(){} +} + +// FILE: JavaSeparate2.java +public class JavaSeparate2 { + int a = 23; + void foo(){} +} + +// FILE: JavaSeparate3.java +public class JavaSeparate3 { + private int a = 24; + private void foo(){} +} + +// MODULE: main(separate) +// FILE: Java1.java +public class Java1 extends JavaSeparate1 { + public int a = 12; + public void foo() {} +} + +// FILE: Java2.java +public class Java2 extends JavaSeparate2 { + public int a = 13; + public void foo() {} +} + +// FILE: Java3.java +public class Java3 extends JavaSeparate3 { + protected int a = 14; + protected void foo(){} +} + +// FILE: Java4.java +public class Java4 extends JavaSeparate2 { + protected int a = 15; + protected void foo(){} +} + + +// FILE: Java5.java +public class Java5 extends JavaSeparate2 { + private int a = 16; + private void foo() {} +} + +// FILE: test.kt +class A : Java1() //public + protected + +class B : Java1() { + override fun foo() {} +} + +class C : Java2() //public + default + +class D : Java2() { + override fun foo() {} +} + +class E : Java3() //protected + private + +class F : Java3() { + public override fun foo() {} +} + +class G : Java4() //protected + default + +class H : Java4() { + public override fun foo() {} +} + +class I : Java5() //private + default + +class J : Java5() { + val a : Int = 10 + fun foo() {} +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a.a + a.foo() + b.a + b.foo() + c.a + c.foo() + d.a + d.foo() + e.a + e.foo() + f.a + f.foo() + g.a + g.foo() + h.a + h.foo() + j.a + j.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt.txt new file mode 100644 index 00000000000..fa74b0740e5 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt.txt @@ -0,0 +1,133 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) { + a(super).#a /*~> Unit */ + a.foo() + b(super).#a /*~> Unit */ + b.foo() + c(super).#a /*~> Unit */ + c.foo() + d(super).#a /*~> Unit */ + d.foo() + e(super).#a /*~> Unit */ + e.foo() + f(super).#a /*~> Unit */ + f.foo() + g(super).#a /*~> Unit */ + g.foo() + h(super).#a /*~> Unit */ + h.foo() + j.() /*~> Unit */ + j.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.sig.kt.txt new file mode 100644 index 00000000000..e0f0bf87813 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.sig.kt.txt @@ -0,0 +1,194 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J){} +// Public signature: /test|-6013363711736718138[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.ir.txt new file mode 100644 index 00000000000..99dea34eb79 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.ir.txt @@ -0,0 +1,402 @@ +Module: separate +FILE fqName: fileName:/KotlinInternal.kt + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .J' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .J declared in .J.' type=.J origin=null + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .K' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .K declared in .K.' type=.K origin=null + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.kt.txt new file mode 100644 index 00000000000..a1af89d9f87 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.fir.kt.txt @@ -0,0 +1,176 @@ +// MODULE: separate +// FILE: KotlinInternal.kt + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java2 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class E : Java3 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class G : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class H : Java5 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class I : KotlinInternal, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + +} + +class J : KotlinInternal, JavaPublic { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + +} + +class K : KotlinInternal, JavaDefault { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K) { + b.foo() + b.#a /*~> Unit */ + c.foo() + c.() /*~> Unit */ + d.foo() + d.#a /*~> Unit */ + e.foo() + e.() /*~> Unit */ + g.foo() + g.#a /*~> Unit */ + h.foo() + h.() /*~> Unit */ + i.foo() + j.foo() + j.() /*~> Unit */ + k.foo() + k.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.ir.txt new file mode 100644 index 00000000000..81fbb60130c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.ir.txt @@ -0,0 +1,316 @@ +Module: separate +FILE fqName: fileName:/KotlinInternal.kt + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java2]' + FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,var] + overridden: + public final a: kotlin.Int + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java3]' + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java5]' + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java5]' + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:public/*package*/ modality:FINAL [fake_override,var] + overridden: + public/*package*/ final a: kotlin.Int + CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .J' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .J declared in .J.' type=.J origin=null + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=10 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .K' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .K declared in .K.' type=.K origin=null + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt new file mode 100644 index 00000000000..f47a79fb574 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt @@ -0,0 +1,117 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: KotlinInternal.kt +open class KotlinInternal { + internal open val a : Int + get() = 1 + internal open fun foo(){} +} + +// MODULE: main(separate) +// FILE: Java1.java +public class Java1 extends KotlinInternal {} + +// FILE: Java2.java +public class Java2 extends KotlinInternal { + public int a = 7; + public void foo() {} +} + +// FILE: Java3.java +public class Java3 extends KotlinInternal { + protected int a = 12; + protected void foo() {} +} + +// FILE: Java4.java +public class Java4 extends KotlinInternal { + private int a = 16; + private void foo() {} +} + + +// FILE: Java5.java +public class Java5 extends KotlinInternal { + int a = 5; + void foo(){} +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 2; + public void foo(); +} + +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: test.kt +class A : Java1() + +class B : Java2() + +class C: Java2() { + override fun foo() {} + val a = 10 +} + +class D : Java3() + +class E : Java3() { + public override fun foo() {} + val a = 10 +} + +class F : Java4() + +class G : Java5() + +class H : Java5() { + public override fun foo() {} + val a = 10 +} + +abstract class I : JavaPublic, KotlinInternal() + +class J : JavaPublic, KotlinInternal() { + public override fun foo() {} + val a = 10 +} + +class K : JavaDefault, KotlinInternal() { + public override fun foo() {} + val a = 10 +} + + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K){ + b.foo() + b.a + + c.foo() + c.a + + d.foo() + d.a + + e.foo() + e.a + + g.foo() + g.a + + h.foo() + h.a + + i.foo() + + j.foo() + j.a + + k.foo() + k.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt.txt new file mode 100644 index 00000000000..d69718b195a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt.txt @@ -0,0 +1,176 @@ +// MODULE: separate +// FILE: KotlinInternal.kt + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class C : Java2 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + +} + +class D : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class E : Java3 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class G : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class H : Java5 { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class I : KotlinInternal, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + +} + +class J : KotlinInternal, JavaPublic { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + +} + +class K : KotlinInternal, JavaDefault { + val a: Int + field = 10 + get + + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K) { + b.foo() + b(super).#a /*~> Unit */ + c.foo() + c(super).#a /*~> Unit */ + d.foo() + d(super).#a /*~> Unit */ + e.foo() + e(super).#a /*~> Unit */ + g.foo() + g(super).#a /*~> Unit */ + h.foo() + h(super).#a /*~> Unit */ + i.foo() + j.foo() + j.() /*~> Unit */ + k.foo() + k.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.sig.kt.txt new file mode 100644 index 00000000000..5259b65cb4d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.sig.kt.txt @@ -0,0 +1,281 @@ +// MODULE: separate +// FILE: KotlinInternal.kt + +// CHECK: +// Mangled name: KotlinInternal +// Public signature: /KotlinInternal|null[0] +open class KotlinInternal { + // CHECK: + // Mangled name: KotlinInternal#(){} + // Public signature: /KotlinInternal.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternal#foo(){} + // Public signature: /KotlinInternal.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternal{}a + // Public signature: /KotlinInternal.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternal#(){}kotlin.Int + // Public signature: /KotlinInternal.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java2 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java3 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java5 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java5 { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +abstract class I : KotlinInternal, JavaPublic { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : KotlinInternal, JavaPublic { + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : KotlinInternal, JavaDefault { + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K){} +// Public signature: /test|870784281949045058[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.ir.txt new file mode 100644 index 00000000000..1aec4c4ad15 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.ir.txt @@ -0,0 +1,502 @@ +Module: separate +FILE fqName: fileName:/KotlinInternal.kt + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit [fake_override] + overridden: + internal open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.KotlinInternal + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + internal open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.Java3) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + 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 .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java3) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.Java3 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java3 + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java4) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java4 + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public/*package*/ modality:OPEN <> ($this:.Java5) returnType:kotlin.Unit [fake_override] + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + 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 .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java5) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.Java5 + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java5' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.Java5]' + 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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java5 + $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 .Java5 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + public/*package*/ open fun foo (): kotlin.Unit declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java5 + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .L' + CONST Int type=kotlin.Int value=5 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H, i:.I, j:.J, k:.K, l:.L) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + VALUE_PARAMETER name:i index:8 type:.I + VALUE_PARAMETER name:j index:9 type:.J + VALUE_PARAMETER name:k index:10 type:.K + VALUE_PARAMETER name:l index:11 type:.L + BLOCK_BODY + CALL 'internal open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public/*package*/ open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public/*package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.kt.txt new file mode 100644 index 00000000000..8487a32159b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.kt.txt @@ -0,0 +1,208 @@ +// MODULE: separate +// FILE: KotlinInternal.kt + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + internal override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class H : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +class I : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + +} + +class J : Java5 { + constructor() /* primary */ { + super/*Java5*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +class K : KotlinInternal, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class L : KotlinInternal, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L) { + a.foo() + a.() /*~> Unit */ + b.foo() + b.() /*~> Unit */ + c.foo() + c.#a /*~> Unit */ + d.foo() + d.() /*~> Unit */ + e.foo() + e.#a /*~> Unit */ + f.foo() + f.() /*~> Unit */ + g.() /*~> Unit */ + h.() /*~> Unit */ + i.foo() + i.#a /*~> Unit */ + j.foo() + j.() /*~> Unit */ + k.foo() + k.() /*~> Unit */ + l.foo() + l.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.sig.kt.txt new file mode 100644 index 00000000000..89cc7eeabfc --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.fir.sig.kt.txt @@ -0,0 +1,376 @@ +// MODULE: separate +// FILE: KotlinInternal.kt + +// CHECK: +// Mangled name: KotlinInternal +// Public signature: /KotlinInternal|null[0] +open class KotlinInternal { + // CHECK: + // Mangled name: KotlinInternal#(){} + // Public signature: /KotlinInternal.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternal#foo(){} + // Public signature: /KotlinInternal.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternal{}a + // Public signature: /KotlinInternal.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternal#(){}kotlin.Int + // Public signature: /KotlinInternal.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java3 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : Java4 { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : Java5 { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : Java5 { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : KotlinInternal, JavaPublic { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : KotlinInternal, JavaDefault { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H;I;J;K;L){} +// Public signature: /test|-3655539743967648908[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H;I;J;K;L){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt new file mode 100644 index 00000000000..8900334f82a --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt @@ -0,0 +1,140 @@ +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_K1: ANY +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65679 + +// MODULE: separate +// FILE: KotlinInternal.kt +open class KotlinInternal { + internal open val a : Int + get() = 1 + internal open fun foo(){} +} + +// MODULE: main()(separate) +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 1; + public void foo(); +} + +// FILE: Java1.java +public class Java1 extends KotlinInternal {} + +// FILE: Java2.java +public class Java2 extends KotlinInternal { + public int a = 2; + public void foo() {} +} +// FILE: Java3.java +public class Java3 extends KotlinInternal { + protected int a = 3; + protected void foo() {} +} + +// FILE: Java4.java +public class Java4 extends KotlinInternal { + private int a = 4; + private void foo() {} +} + +// FILE: Java5.java +public class Java5 extends KotlinInternal { + int a = 5; + void foo(){} +} + +// FILE: test.kt +class A : Java1() + +class B : Java1() { + override fun foo() {} + override val a: Int + get() = 5 +} + +class C : Java2() + +class D: Java2() { + override fun foo() {} + override val a: Int + get() = 5 +} + +class E : Java3() + +class F : Java3() { + public override fun foo() {} + override val a: Int + get() = 5 +} + +class G : Java4() + +class H : Java4() { + override val a: Int + get() = 5 +} + +class I : Java5() + +class J : Java5() { + public override fun foo() {} + override val a: Int + get() = 5 +} + +class K : JavaPublic, KotlinInternal() { + public override fun foo() {} + public override val a: Int + get() = 5 +} + +class L : JavaDefault, KotlinInternal() { + public override fun foo() {} + public override val a: Int + get() = 5 +} + + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L){ + a.foo() + a.a + + b.foo() + b.a + + c.foo() + c.a + + d.foo() + d.a + + e.foo() + e.a + + f.foo() + f.a + + g.a + + h.a + + i.foo() + i.a + + j.foo() + j.a + + k.foo() + k.a + + l.foo() + l.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.ir.txt new file mode 100644 index 00000000000..621b48f12c8 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.ir.txt @@ -0,0 +1,322 @@ +Module: separate +FILE fqName: fileName:/KotlinInternalSeparate.kt + CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternalSeparate + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternalSeparate [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternalSeparate' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit [fake_override] + annotations: + PublishedApi + overridden: + internal open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.InternalVisibility + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + PublishedApi + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + internal open fun foo (): kotlin.Unit declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java1) returnType:kotlin.Int [fake_override] + annotations: + PublishedApi + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $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:.Java2) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + 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 .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.Java2) returnType:kotlin.Int [fake_override] + annotations: + PublishedApi + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java2 + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java2' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java2]' + 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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java3' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.Java3]' + 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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java3 + $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 .Java3 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $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:.Java4) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.Java4 + 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 .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java4' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.Java4]' + 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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java4 + $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 .Java4 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .Java4 + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InternalVisibility + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .InternalVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .InternalVisibility declared in .InternalVisibility.' type=.InternalVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.InternalVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + BLOCK_BODY + CALL 'internal open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'internal open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:public' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.kt.txt new file mode 100644 index 00000000000..ed8abc22b05 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.kt.txt @@ -0,0 +1,134 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +open class KotlinInternalSeparate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + + @PublishedApi + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + internal override fun foo() { + } + +} + +class C : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + +} + +class D : Java2 { + constructor() /* primary */ { + super/*Java2*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 10 + } + +} + +class E : Java3 { + constructor() /* primary */ { + super/*Java3*/() + /* () */ + + } + +} + +class F : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + +} + +class G : Java4 { + constructor() /* primary */ { + super/*Java4*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class InternalVisibility { + @PublishedApi + internal open val a: Int + field = 4 + internal open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) { + a.foo() + a.() /*~> Unit */ + b.foo() + b.() /*~> Unit */ + c.foo() + c.#a /*~> Unit */ + d.foo() + d.() /*~> Unit */ + f.foo() + f.#a /*~> Unit */ + g.foo() + g.#a /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..d71855af8fe --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.fir.sig.kt.txt @@ -0,0 +1,244 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +// CHECK: +// Mangled name: KotlinInternalSeparate +// Public signature: /KotlinInternalSeparate|null[0] +open class KotlinInternalSeparate { + // CHECK: + // Mangled name: KotlinInternalSeparate#(){} + // Public signature: /KotlinInternalSeparate.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternalSeparate#foo(){} + // Public signature: /KotlinInternalSeparate.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternalSeparate{}a + // Public signature: /KotlinInternalSeparate.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternalSeparate#(){}kotlin.Int + // Public signature: /KotlinInternalSeparate.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @PublishedApi + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @PublishedApi + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + @PublishedApi + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : Java3 { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : Java4 { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : Java4 { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: InternalVisibility +// Public signature: /InternalVisibility|null[0] +open class InternalVisibility { + // CHECK: + // Mangled name: InternalVisibility{}a + // Public signature: /InternalVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: InternalVisibility#(){}kotlin.Int + // Public signature: /InternalVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get + + // CHECK: + // Mangled name: InternalVisibility#(){} + // Public signature: /InternalVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: InternalVisibility#foo(){} + // Public signature: /InternalVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G){} +// Public signature: /test|-3020703466980043959[0] +// Public signature debug description: test(A;B;C;D;E;F;G){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt new file mode 100644 index 00000000000..30ae327ae8b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt @@ -0,0 +1,78 @@ +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_K1: ANY +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-65679, KT-65388 + +// MODULE: separate +// FILE: KotlinInternalSeparate.kt +open class KotlinInternalSeparate { + @PublishedApi + internal open val a : Int + get() = 1 + @PublishedApi + internal open fun foo() {} +} + +// MODULE: main(separate) +// FILE: Java1.java +public class Java1 extends InternalVisibility { } + +// FILE: Java2.java +public class Java2 extends InternalVisibility { + public int a = 2; + public void foo(){} +} + +// FILE: Java3.java +public class Java3 extends KotlinInternalSeparate { } + +// FILE: Java4.java +public class Java4 extends KotlinInternalSeparate { + public int a = 4; + public void foo(){} +} + +// FILE: test.kt +open class InternalVisibility { + @PublishedApi + internal open val a: Int = 4 + @PublishedApi + internal open fun foo() {} +} + +class A : Java1() //Kotlin ← Java ← Kotlin(internal) + +class B : Java1() { + override fun foo() {} +} + +class C : Java2() //Kotlin ← Java(public) ← Kotlin(internal) + +class D : Java2() { + override fun foo() {} + override val a: Int + get() = 10 +} + +class E : Java3() //Kotlin ← Java ← Kotlin(internal separate module) + +class F : Java4() //Kotlin ← Java(public) ← Kotlin(internal separate module) + +class G : Java4() { + override fun foo() {} +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G){ + a.foo() + a.a + b.foo() + b.a + c.foo() + c.a + d.foo() + d.a + f.foo() + f.a + g.foo() + g.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.ir.txt new file mode 100644 index 00000000000..5c55754032d --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.ir.txt @@ -0,0 +1,311 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + 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:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtected]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaProtected + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefault]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + CALL 'public abstract fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.kt.txt new file mode 100644 index 00000000000..367ca121e80 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.fir.kt.txt @@ -0,0 +1,121 @@ +abstract class A : JavaDefault, JavaPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : JavaDefault, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : JavaProtected, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class D : JavaPrivate, JavaPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class E : JavaPrivate, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +class F : JavaProtected, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class G : JavaPrivate, JavaDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class H : JavaPrivate, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo() + b.() /*~> Unit */ + b.foo() + c.() /*~> Unit */ + c.foo() + d.foo() + e.foo() + f.() /*~> Unit */ + f.foo() + g.foo() + h.foo() + h.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.ir.txt new file mode 100644 index 00000000000..c7be461c629 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.ir.txt @@ -0,0 +1,317 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + 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:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtected]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaProtected + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .E' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .E declared in .E.' type=.E origin=null + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .F' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .F declared in .F.' type=.F origin=null + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefault]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .H' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .H declared in .H.' type=.H origin=null + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, h:.H) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:h index:7 type:.H + BLOCK_BODY + CALL 'public abstract fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt new file mode 100644 index 00000000000..c26e30d3c46 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt @@ -0,0 +1,72 @@ +// TARGET_BACKEND: JVM + +// FILE: JavaProtected.java +public class JavaProtected { + protected int a = 3; + protected void foo() {} +} + +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 1; + public void foo(); +} + +// FILE: JavaPrivate.java +public class JavaPrivate { + private int a = 2; + private void foo(){} +} + +// FILE: test.kt +abstract class A : JavaPublic, JavaDefault + +class B : JavaPublic, JavaDefault { + override fun foo() {} + val a = 1 +} + +class C : JavaPublic, JavaProtected() { + override fun foo() {} + val a = 1 +} + +abstract class D : JavaPublic, JavaPrivate() + +class E : JavaPublic, JavaPrivate() { + override fun foo() {} + val a = 1 +} + +class F : JavaProtected(), JavaDefault { + override fun foo() {} + val a = 1 +} + +abstract class G : JavaPrivate(), JavaDefault + +class H : JavaPrivate(), JavaDefault { + override fun foo() {} + val a = 1 +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo() + b.a + b.foo() + c.a + c.foo() + d.foo() + e.foo() + f.a + f.foo() + g.foo() + h.foo() + h.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt.txt new file mode 100644 index 00000000000..c8f7dd82a97 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt.txt @@ -0,0 +1,121 @@ +abstract class A : JavaDefault, JavaPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : JavaDefault, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class C : JavaProtected, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class D : JavaPrivate, JavaPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class E : JavaPrivate, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +class F : JavaProtected, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class G : JavaPrivate, JavaDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class H : JavaPrivate, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) { + a.foo() + b.() /*~> Unit */ + b.foo() + c(super).#a /*~> Unit */ + c.foo() + d.foo() + e.foo() + f(super).#a /*~> Unit */ + f.foo() + g.foo() + h.foo() + h.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.sig.kt.txt new file mode 100644 index 00000000000..3f8efe20026 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.sig.kt.txt @@ -0,0 +1,204 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : JavaDefault, JavaPublic { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : JavaDefault, JavaPublic { + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : JavaProtected, JavaPublic { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +abstract class D : JavaPrivate, JavaPublic { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : JavaPrivate, JavaPublic { + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : JavaProtected, JavaDefault { + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +abstract class G : JavaPrivate, JavaDefault { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : JavaPrivate, JavaDefault { + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;H){} +// Public signature: /test|-2663909601123444132[0] +// Public signature debug description: test(A;B;C;D;E;F;G;H){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.ir.txt new file mode 100644 index 00000000000..13108d7ab5b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.ir.txt @@ -0,0 +1,1140 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinDefault]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR ': .A declared in .A.test' type=.A origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinPrivate] + $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:[.JavaDefault; .KotlinPrivate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPrivate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinProtected]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'protected open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .D declared in .D.test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR ': .D declared in .D.test' type=.D origin=null + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPublic]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .E declared in .E.test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR ': .E declared in .E.test' type=.E origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .F declared in .F.test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR ': .F declared in .F.test' type=.F origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $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:.KotlinDefault) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.KotlinDefault + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.G) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .G declared in .G.test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR ': .G declared in .G.test' type=.G origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.KotlinDefault + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .H declared in .H.test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR ': .H declared in .H.test' type=.H origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPrivate]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $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:.KotlinPublic) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.KotlinPublic + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .J declared in .J.test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .J.test' type=.J origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.KotlinPublic + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.K) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .K declared in .K.test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR ': .K declared in .K.test' type=.K origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinProtected + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .KotlinProtected' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinProtected declared in .KotlinProtected.' type=.KotlinProtected origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinProtected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinDefault]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.L) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .L declared in .L.test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR ': .L declared in .L.test' type=.L origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .L' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaProtected) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.JavaProtected + 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 .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.M) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR ': .M declared in .M.test' type=.M origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR ': .M declared in .M.test' type=.M origin=null + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .N' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .N declared in .N.' type=.N origin=null + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .N' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .N declared in .N.test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR ': .N declared in .N.test' type=.N origin=null + CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPublic]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.O) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .O' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .O declared in .O.test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR ': .O declared in .O.test' type=.O origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .O' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.P) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .P declared in .P.test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR ': .P declared in .P.test' type=.P origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .P' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Q) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Q' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .Q declared in .Q.' type=.Q origin=null + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.Q) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.Q) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .Q' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Q declared in .Q.test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR ': .Q declared in .Q.test' type=.Q origin=null + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinProtected]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.R) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'protected open fun (): kotlin.Int declared in .R' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .R declared in .R.test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR ': .R declared in .R.test' type=.R origin=null + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.S + CONSTRUCTOR visibility:public <> () returnType:.S [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPublic]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.S) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.S) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .S' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .S declared in .S.test' type=.S origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR ': .S declared in .S.test' type=.S origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.S) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .S' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.T + CONSTRUCTOR visibility:public <> () returnType:.T [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.T) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.T) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .T' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .T declared in .T.test' type=.T origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR ': .T declared in .T.test' type=.T origin=null + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.T) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .T' + CONST Int type=kotlin.Int value=5 + CLASS INTERFACE name:KotlinDefault modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinDefault + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinDefault' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPrivate modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPrivate + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + PROPERTY name:a visibility:private modality:FINAL [val] + FUN name: visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinPrivate' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPublic modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPublic + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinPublic' + CONST Int type=kotlin.Int value=1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, h:.H, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R, s:.S, t:.T) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:j index:7 type:.J + VALUE_PARAMETER name:k index:8 type:.K + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + VALUE_PARAMETER name:o index:12 type:.O + VALUE_PARAMETER name:p index:13 type:.P + VALUE_PARAMETER name:q index:14 type:.Q + VALUE_PARAMETER name:r index:15 type:.R + VALUE_PARAMETER name:s index:16 type:.S + VALUE_PARAMETER name:t index:17 type:.T + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun test (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun test (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun test (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public final fun test (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun test (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public final fun test (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public final fun test (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public final fun test (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public final fun test (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public final fun test (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .N' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public final fun test (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .O' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public final fun test (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public final fun test (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public final fun test (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public final fun test (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'public final fun test (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .S' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + CALL 'public final fun test (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .T' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 't: .T declared in .test' type=.T origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.kt.txt new file mode 100644 index 00000000000..eb85f41d9ad --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.fir.kt.txt @@ -0,0 +1,508 @@ +abstract class A : JavaDefault, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class B : JavaDefault, KotlinPrivate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + fun test() { + .foo() + } + +} + +class C : JavaDefault, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class D : KotlinProtected, JavaDefault { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class E : JavaDefault, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class F : KotlinInternal, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class G : JavaPrivate, KotlinDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class H : JavaPrivate, KotlinDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class I : JavaPrivate, KotlinPrivate { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class J : JavaPrivate, KotlinPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class K : JavaPrivate, KotlinPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +open class KotlinProtected { + protected open val a: Int + field = 1 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +class L : JavaProtected, KotlinDefault { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class M : JavaProtected, KotlinPrivate { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + fun test() { + .#a /*~> Unit */ + .foo() + } + +} + +class N : JavaProtected, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class O : JavaProtected, KotlinPublic { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class P : JavaPublic, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class Q : JavaPublic, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class R : KotlinProtected, JavaPublic { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class S : JavaPublic, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class T : KotlinInternal, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +interface KotlinDefault { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +interface KotlinPrivate { + private final fun foo() { + } + + private final val a: Int + private final get(): Int { + return 1 + } + +} + +interface KotlinPublic { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T) { + a.foo() + a.() /*~> Unit */ + a.test() + b.foo() + b.test() + c.foo() + c.test() + d.foo() + d.foo() + e.foo() + e.() /*~> Unit */ + e.test() + f.foo() + f.() /*~> Unit */ + f.test() + h.foo() + h.() /*~> Unit */ + h.test() + j.foo() + j.() /*~> Unit */ + j.test() + k.foo() + k.() /*~> Unit */ + k.test() + l.foo() + l.() /*~> Unit */ + l.test() + m.foo() + m.#a /*~> Unit */ + m.test() + n.foo() + n.() /*~> Unit */ + n.test() + o.foo() + o.() /*~> Unit */ + o.test() + p.foo() + p.() /*~> Unit */ + p.test() + q.foo() + q.test() + r.foo() + r.test() + s.foo() + s.test() + s.() /*~> Unit */ + t.foo() + t.test() + t.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.ir.txt new file mode 100644 index 00000000000..6a051362219 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.ir.txt @@ -0,0 +1,1152 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinDefault]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .A declared in .A.test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR ': .A declared in .A.test' type=.A origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinPrivate] + $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:[.JavaDefault; .KotlinPrivate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.B) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR ': .B declared in .B.test' type=.B origin=null + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPrivate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .C' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR ': .C declared in .C.test' type=.C origin=null + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinProtected]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.D) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'protected open fun (): kotlin.Int declared in .D' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .D declared in .D.test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR ': .D declared in .D.test' type=.D origin=null + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinPublic]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.E) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .E declared in .E.test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR ': .E declared in .E.test' type=.E origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternal]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.F) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .F declared in .F.test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR ': .F declared in .F.test' type=.F origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $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:.KotlinDefault) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.KotlinDefault + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.G) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .G declared in .G.test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR ': .G declared in .G.test' type=.G origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.KotlinDefault + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinDefault]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.H) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .H declared in .H.test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR ': .H declared in .H.test' type=.H origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.H) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.H + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .H' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPrivate]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $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:.KotlinPublic) returnType:kotlin.Unit [fake_override] + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.KotlinPublic + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.J) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .J declared in .J.test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR ': .J declared in .J.test' type=.J origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.KotlinPublic + CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:FINAL visibility:public superTypes:[.JavaPrivate; .KotlinPublic]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Unit + overridden: + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.K) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .K declared in .K.test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR ': .K declared in .K.test' type=.K origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.K) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.K + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .K' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinProtected + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .KotlinProtected' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinProtected declared in .KotlinProtected.' type=.KotlinProtected origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinProtected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinDefault]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.L) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR ': .L declared in .L.test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR ': .L declared in .L.test' type=.L origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .L' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaProtected) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.JavaProtected + 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 .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> ($this:.M) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR ': .M declared in .M.test' type=.M origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR ': .M declared in .M.test' type=.M origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .N' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .N declared in .N.' type=.N origin=null + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPrivate]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR ': .N declared in .N.test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR ': .N declared in .N.test' type=.N origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:FINAL visibility:public superTypes:[.JavaProtected; .KotlinPublic]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.O) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR ': .O declared in .O.test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR ': .O declared in .O.test' type=.O origin=null + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.O) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.O + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .O' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinDefault]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.P) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .P declared in .P.test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR ': .P declared in .P.test' type=.P origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .P' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Q + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Q) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Q' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .Q declared in .Q.' type=.Q origin=null + CONSTRUCTOR visibility:public <> () returnType:.Q [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Q modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPrivate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.Q) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.Q) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.Q + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .Q' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .Q declared in .Q.test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR ': .Q declared in .Q.test' type=.Q origin=null + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinProtected]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.R) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'protected open fun (): kotlin.Int declared in .R' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .R declared in .R.test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR ': .R declared in .R.test' type=.R origin=null + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .R' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.S + CONSTRUCTOR visibility:public <> () returnType:.S [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:S modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinPublic]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.S) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.S) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .S' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .S declared in .S.test' type=.S origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR ': .S declared in .S.test' type=.S origin=null + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.S) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.S + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .S' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.T + CONSTRUCTOR visibility:public <> () returnType:.T [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:T modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternal]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.T) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> ($this:.T) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .T' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .T declared in .T.test' type=.T origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR ': .T declared in .T.test' type=.T origin=null + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.T) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.T + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .T' + CONST Int type=kotlin.Int value=5 + CLASS INTERFACE name:KotlinDefault modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinDefault + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinDefault' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPrivate modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPrivate + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + PROPERTY name:a visibility:private modality:FINAL [val] + FUN name: visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinPrivate' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPublic modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPublic + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinPublic' + CONST Int type=kotlin.Int value=1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, h:.H, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, q:.Q, r:.R, s:.S, t:.T) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:h index:6 type:.H + VALUE_PARAMETER name:j index:7 type:.J + VALUE_PARAMETER name:k index:8 type:.K + VALUE_PARAMETER name:l index:9 type:.L + VALUE_PARAMETER name:m index:10 type:.M + VALUE_PARAMETER name:n index:11 type:.N + VALUE_PARAMETER name:o index:12 type:.O + VALUE_PARAMETER name:p index:13 type:.P + VALUE_PARAMETER name:q index:14 type:.Q + VALUE_PARAMETER name:r index:15 type:.R + VALUE_PARAMETER name:s index:16 type:.S + VALUE_PARAMETER name:t index:17 type:.T + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public final fun test (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public final fun test (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public final fun test (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public final fun test (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public final fun test (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .H' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public final fun test (): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + $this: GET_VAR 'h: .H declared in .test' type=.H origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public final fun test (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .K' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public final fun test (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public final fun test (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public final fun test (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public final fun test (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public final fun test (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public final fun test (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public final fun test (): kotlin.Unit declared in .Q' type=kotlin.Unit origin=null + $this: GET_VAR 'q: .Q declared in .test' type=.Q origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public final fun test (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'public final fun test (): kotlin.Unit declared in .S' type=kotlin.Unit origin=null + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .S' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 's: .S declared in .test' type=.S origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + CALL 'public final fun test (): kotlin.Unit declared in .T' type=kotlin.Unit origin=null + $this: GET_VAR 't: .T declared in .test' type=.T origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .T' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 't: .T declared in .test' type=.T origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt new file mode 100644 index 00000000000..2e9fc25f0de --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt @@ -0,0 +1,283 @@ +// TARGET_BACKEND: JVM + +// FILE: JavaProtected.java +public class JavaProtected { + protected int a = 3; + protected void foo() {} +} + +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 1; + public void foo(); +} + +// FILE: JavaPrivate.java +public class JavaPrivate { + private int a = 2; + private void foo(){} +} + +// FILE: test.kt +abstract class A: JavaDefault, KotlinDefault { + public override fun foo() { } + public override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +abstract class B : JavaDefault, KotlinPrivate{ + fun test() { + foo() + } +} + +class C : JavaDefault, KotlinPrivate { + public override fun foo() {} + val a = 5 + fun test() { + a + foo() + } +} + +class D : JavaDefault, KotlinProtected() { + public override fun foo() {} + protected override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class E : JavaDefault, KotlinPublic { + public override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class F : JavaDefault, KotlinInternal() { + public override fun foo() {} + public override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class G : JavaPrivate(), KotlinDefault{ + fun test() { + a + foo() + } +} + +class H : JavaPrivate(), KotlinDefault { + override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class I : JavaPrivate(), KotlinPrivate + +class J : JavaPrivate(), KotlinPublic { + fun test() { + a + foo() + } +} + +class K : JavaPrivate(), KotlinPublic { + override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class L : JavaProtected(), KotlinDefault { + public override fun foo() {} + public override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class M : JavaProtected(), KotlinPrivate { + fun test() { + a + foo() + } +} + +class N : JavaProtected(), KotlinPrivate { + public override fun foo() {} + val a = 5 + fun test() { + a + foo() + } +} + +class O : JavaProtected(), KotlinPublic { + public override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class P : JavaPublic, KotlinDefault { + override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class Q : JavaPublic, KotlinPrivate { + override fun foo() {} + val a = 5 + fun test() { + a + foo() + } +} + +class R : JavaPublic, KotlinProtected() { + public override fun foo() {} + protected override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class S : JavaPublic, KotlinPublic { + override fun foo() {} + override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +class T : JavaPublic, KotlinInternal() { + public override fun foo() {} + internal override val a: Int + get() = 5 + fun test() { + a + foo() + } +} + +interface KotlinPrivate { + private val a : Int + get() = 1 + private fun foo(){} +} + +open class KotlinProtected { + protected open val a : Int = 1 + protected open fun foo(){} +} + +interface KotlinDefault { + val a : Int + get() = 1 + fun foo(){} +} + +interface KotlinPublic { + public val a : Int + get() = 1 + public fun foo(){} +} + +open class KotlinInternal { + internal open val a : Int + get() = 1 + internal open fun foo(){} +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T){ + a.foo() + a.a + a.test() + b.foo() + b.test() + c.foo() + c.test() + d.foo() + d.foo() + e.foo() + e.a + e.test() + f.foo() + f.a + f.test() + h.foo() + h.a + h.test() + j.foo() + j.a + j.test() + k.foo() + k.a + k.test() + l.foo() + l.a + l.test() + m.foo() + m.a + m.test() + n.foo() + n.a + n.test() + o.foo() + o.a + o.test() + p.foo() + p.a + p.test() + q.foo() + q.test() + r.foo() + r.test() + s.foo() + s.test() + s.a + t.foo() + t.test() + t.a +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt.txt new file mode 100644 index 00000000000..be03e3f484b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt.txt @@ -0,0 +1,508 @@ +abstract class A : JavaDefault, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class B : JavaDefault, KotlinPrivate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + fun test() { + .foo() + } + +} + +class C : JavaDefault, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class D : KotlinProtected, JavaDefault { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class E : JavaDefault, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class F : KotlinInternal, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class G : JavaPrivate, KotlinDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class H : JavaPrivate, KotlinDefault { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class I : JavaPrivate, KotlinPrivate { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class J : JavaPrivate, KotlinPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class K : JavaPrivate, KotlinPublic { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +open class KotlinProtected { + protected open val a: Int + field = 1 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +class L : JavaProtected, KotlinDefault { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + (super).#a /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class M : JavaProtected, KotlinPrivate { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + fun test() { + (super).#a /*~> Unit */ + .foo() + } + +} + +class N : JavaProtected, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + (super).#a /*~> Unit */ + .foo() + } + +} + +class O : JavaProtected, KotlinPublic { + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + (super).#a /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class P : JavaPublic, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class Q : JavaPublic, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + +} + +class R : KotlinProtected, JavaPublic { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class S : JavaPublic, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class T : KotlinInternal, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + fun test() { + .() /*~> Unit */ + .foo() + } + + internal override val a: Int + internal override get(): Int { + return 5 + } + +} + +interface KotlinDefault { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +interface KotlinPrivate { + private final fun foo() { + } + + private final val a: Int + private final get(): Int { + return 1 + } + +} + +interface KotlinPublic { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T) { + a.foo() + a.() /*~> Unit */ + a.test() + b.foo() + b.test() + c.foo() + c.test() + d.foo() + d.foo() + e.foo() + e.() /*~> Unit */ + e.test() + f.foo() + f.() /*~> Unit */ + f.test() + h.foo() + h.() /*~> Unit */ + h.test() + j.foo() + j.() /*~> Unit */ + j.test() + k.foo() + k.() /*~> Unit */ + k.test() + l.foo() + l(super).#a /*~> Unit */ + l.test() + m.foo() + m(super).#a /*~> Unit */ + m.test() + n.foo() + n(super).#a /*~> Unit */ + n.test() + o.foo() + o(super).#a /*~> Unit */ + o.test() + p.foo() + p.() /*~> Unit */ + p.test() + q.foo() + q.test() + r.foo() + r.test() + s.foo() + s.test() + s.() /*~> Unit */ + t.foo() + t.test() + t.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.sig.kt.txt new file mode 100644 index 00000000000..01883aa773e --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.sig.kt.txt @@ -0,0 +1,787 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : JavaDefault, KotlinDefault { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: A#test(){} + // Public signature: /A.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : JavaDefault, KotlinPrivate { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: B#test(){} + // Public signature: /B.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : JavaDefault, KotlinPrivate { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: C#test(){} + // Public signature: /C.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : KotlinProtected, JavaDefault { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: D#test(){} + // Public signature: /D.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : JavaDefault, KotlinPublic { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: E#test(){} + // Public signature: /E.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinInternal, JavaDefault { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F#test(){} + // Public signature: /F.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : JavaPrivate, KotlinDefault { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: G#test(){} + // Public signature: /G.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : JavaPrivate, KotlinDefault { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: H#test(){} + // Public signature: /H.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: H{}a + // Public signature: /H.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: H#(){}kotlin.Int + // Public signature: /H.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : JavaPrivate, KotlinPrivate { + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : JavaPrivate, KotlinPublic { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: J#test(){} + // Public signature: /J.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +class K : JavaPrivate, KotlinPublic { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: K#test(){} + // Public signature: /K.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: K{}a + // Public signature: /K.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: K#(){}kotlin.Int + // Public signature: /K.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: KotlinInternal +// Public signature: /KotlinInternal|null[0] +open class KotlinInternal { + // CHECK: + // Mangled name: KotlinInternal#(){} + // Public signature: /KotlinInternal.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternal#foo(){} + // Public signature: /KotlinInternal.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternal{}a + // Public signature: /KotlinInternal.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternal#(){}kotlin.Int + // Public signature: /KotlinInternal.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// CHECK: +// Mangled name: KotlinProtected +// Public signature: /KotlinProtected|null[0] +open class KotlinProtected { + // CHECK: + // Mangled name: KotlinProtected{}a + // Public signature: /KotlinProtected.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinProtected#(){}kotlin.Int + // Public signature: /KotlinProtected.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected open get + + // CHECK: + // Mangled name: KotlinProtected#(){} + // Public signature: /KotlinProtected.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinProtected#foo(){} + // Public signature: /KotlinProtected.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected open fun foo(): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : JavaProtected, KotlinDefault { + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: L#test(){} + // Public signature: /L.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : JavaProtected, KotlinPrivate { + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#foo(){} + // Public signature: /M.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: M#test(){} + // Public signature: /M.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : JavaProtected, KotlinPrivate { + // CHECK: + // Mangled name: N{}a + // Public signature: /N.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#foo(){} + // Public signature: /N.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: N#test(){} + // Public signature: /N.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +class O : JavaProtected, KotlinPublic { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: O#foo(){} + // Public signature: /O.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: O#test(){} + // Public signature: /O.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: O{}a + // Public signature: /O.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: O#(){}kotlin.Int + // Public signature: /O.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: P +// Public signature: /P|null[0] +class P : JavaPublic, KotlinDefault { + // CHECK: + // Mangled name: P#(){} + // Public signature: /P.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: P#foo(){} + // Public signature: /P.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: P#test(){} + // Public signature: /P.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: P{}a + // Public signature: /P.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: P#(){}kotlin.Int + // Public signature: /P.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: Q +// Public signature: /Q|null[0] +class Q : JavaPublic, KotlinPrivate { + // CHECK: + // Mangled name: Q{}a + // Public signature: /Q.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: Q#(){}kotlin.Int + // Public signature: /Q.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: Q#(){} + // Public signature: /Q.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: Q#foo(){} + // Public signature: /Q.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: Q#test(){} + // Public signature: /Q.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + +} + +// CHECK: +// Mangled name: R +// Public signature: /R|null[0] +class R : KotlinProtected, JavaPublic { + // CHECK: + // Mangled name: R#(){} + // Public signature: /R.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: R#foo(){} + // Public signature: /R.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: R#test(){} + // Public signature: /R.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: R{}a + // Public signature: /R.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: R#(){}kotlin.Int + // Public signature: /R.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: S +// Public signature: /S|null[0] +class S : JavaPublic, KotlinPublic { + // CHECK: + // Mangled name: S#(){} + // Public signature: /S.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: S#foo(){} + // Public signature: /S.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: S#test(){} + // Public signature: /S.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: S{}a + // Public signature: /S.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: S#(){}kotlin.Int + // Public signature: /S.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: T +// Public signature: /T|null[0] +class T : KotlinInternal, JavaPublic { + // CHECK: + // Mangled name: T#(){} + // Public signature: /T.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: T#foo(){} + // Public signature: /T.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: T#test(){} + // Public signature: /T.test|6620506149988718649[0] + // Public signature debug description: test(){} + fun test(): Unit + + // CHECK: + // Mangled name: T{}a + // Public signature: /T.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: T#(){}kotlin.Int + // Public signature: /T.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: KotlinDefault +// Public signature: /KotlinDefault|null[0] +interface KotlinDefault { + // CHECK: + // Mangled name: KotlinDefault#foo(){} + // Public signature: /KotlinDefault.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + + // CHECK: + // Mangled name: KotlinDefault{}a + // Public signature: /KotlinDefault.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinDefault#(){}kotlin.Int + // Public signature: /KotlinDefault.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + +} + +// CHECK: +// Mangled name: KotlinPrivate +// Public signature: /KotlinPrivate|null[0] +interface KotlinPrivate { + // CHECK: + // Mangled name: KotlinPrivate#foo(){} + // Public signature: /KotlinPrivate.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + private final fun foo(): Unit + + // CHECK: + // Mangled name: KotlinPrivate{}a + // Public signature: /KotlinPrivate.a|-1200697420457237799[0] + // Public signature debug description: {}a + private final val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinPrivate#(){}kotlin.Int + // Public signature: /KotlinPrivate.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + private final get(): Int + +} + +// CHECK: +// Mangled name: KotlinPublic +// Public signature: /KotlinPublic|null[0] +interface KotlinPublic { + // CHECK: + // Mangled name: KotlinPublic#foo(){} + // Public signature: /KotlinPublic.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + + // CHECK: + // Mangled name: KotlinPublic{}a + // Public signature: /KotlinPublic.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinPublic#(){}kotlin.Int + // Public signature: /KotlinPublic.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;H;J;K;L;M;N;O;P;Q;R;S;T){} +// Public signature: /test|1741693058192791612[0] +// Public signature debug description: test(A;B;C;D;E;F;H;J;K;L;M;N;O;P;Q;R;S;T){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, h: H, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.ir.txt new file mode 100644 index 00000000000..6254e7f2af4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.ir.txt @@ -0,0 +1,326 @@ +Module: separate +FILE fqName: fileName:/KotlinInternalSeparate.kt + CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternalSeparate + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternalSeparate [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternalSeparate' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.JavaDefault; .InternalVisibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .InternalVisibility' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.JavaDefault; .InternalVisibility]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .InternalVisibility + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .InternalVisibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .InternalVisibility' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .InternalVisibility]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .InternalVisibility + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $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:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $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:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + annotations: + PublishedApi + overridden: + internal open a: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:internal modality:OPEN [fake_override,val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InternalVisibility + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .InternalVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .InternalVisibility declared in .InternalVisibility.' type=.InternalVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.InternalVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.kt.txt new file mode 100644 index 00000000000..3fbfd9411e6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.kt.txt @@ -0,0 +1,128 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +open class KotlinInternalSeparate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + + @PublishedApi + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : InternalVisibility, JavaDefault { + constructor() /* primary */ { + super/*InternalVisibility*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 10 + } + +} + +class B : InternalVisibility, JavaPublic { + constructor() /* primary */ { + super/*InternalVisibility*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 10 + } + +} + +abstract class C : KotlinInternalSeparate, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + +} + +class D : KotlinInternalSeparate, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class E : KotlinInternalSeparate, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + +} + +class F : KotlinInternalSeparate, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class InternalVisibility { + @PublishedApi + internal open val a: Int + field = 4 + internal open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo() + a.() /*~> Unit */ + b.foo() + b.() /*~> Unit */ + c.foo() + d.foo() + f.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.sig.kt.txt new file mode 100644 index 00000000000..271f1e7b6cd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.fir.sig.kt.txt @@ -0,0 +1,251 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +// CHECK: +// Mangled name: KotlinInternalSeparate +// Public signature: /KotlinInternalSeparate|null[0] +open class KotlinInternalSeparate { + // CHECK: + // Mangled name: KotlinInternalSeparate#(){} + // Public signature: /KotlinInternalSeparate.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternalSeparate#foo(){} + // Public signature: /KotlinInternalSeparate.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternalSeparate{}a + // Public signature: /KotlinInternalSeparate.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternalSeparate#(){}kotlin.Int + // Public signature: /KotlinInternalSeparate.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : InternalVisibility, JavaDefault { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : InternalVisibility, JavaPublic { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : KotlinInternalSeparate, JavaDefault { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : KotlinInternalSeparate, JavaDefault { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : KotlinInternalSeparate, JavaPublic { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + /* fake */ override fun foo(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinInternalSeparate, JavaPublic { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal /* fake */ override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + +} + +// CHECK: +// Mangled name: InternalVisibility +// Public signature: /InternalVisibility|null[0] +open class InternalVisibility { + // CHECK: + // Mangled name: InternalVisibility{}a + // Public signature: /InternalVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: InternalVisibility#(){}kotlin.Int + // Public signature: /InternalVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get + + // CHECK: + // Mangled name: InternalVisibility#(){} + // Public signature: /InternalVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: InternalVisibility#foo(){} + // Public signature: /InternalVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.ir.txt new file mode 100644 index 00000000000..630526e166b --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.ir.txt @@ -0,0 +1,282 @@ +Module: separate +FILE fqName: fileName:/KotlinInternalSeparate.kt + CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternalSeparate + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternalSeparate [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternalSeparate modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternalSeparate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternalSeparate + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternalSeparate' + CONST Int type=kotlin.Int value=1 +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.JavaDefault; .InternalVisibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .InternalVisibility' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.JavaDefault; .InternalVisibility]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .InternalVisibility + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + internal open fun foo (): kotlin.Unit declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .InternalVisibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .InternalVisibility' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.JavaPublic; .InternalVisibility]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .InternalVisibility + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + internal open fun foo (): kotlin.Unit declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .InternalVisibility + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .B' + CONST Int type=kotlin.Int value=10 + CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefault) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.JavaDefault + 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 .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefault; .KotlinInternalSeparate]' + 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 .JavaDefault + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefault + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaDefault + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternalSeparate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaPublic; .KotlinInternalSeparate]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .KotlinInternalSeparate + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .KotlinInternalSeparate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InternalVisibility + PROPERTY name:a visibility:internal modality:OPEN [val] + annotations: + PublishedApi + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=4 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .InternalVisibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .InternalVisibility declared in .InternalVisibility.' type=.InternalVisibility origin=null + CONSTRUCTOR visibility:public <> () returnType:.InternalVisibility [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InternalVisibility modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.InternalVisibility) returnType:kotlin.Unit + annotations: + PublishedApi + $this: VALUE_PARAMETER name: type:.InternalVisibility + BLOCK_BODY + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'internal open fun (): kotlin.Int declared in .B' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt new file mode 100644 index 00000000000..fbb38b66a39 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt @@ -0,0 +1,68 @@ +// TARGET_BACKEND: JVM +// SEPARATE_SIGNATURE_DUMP_FOR_K2 +// ^ ISSUE: KT-63381 + +// MODULE: separate +// FILE: KotlinInternalSeparate.kt +open class KotlinInternalSeparate { + @PublishedApi + internal open val a : Int + get() = 1 + @PublishedApi + internal open fun foo() {} +} + +// MODULE: main(separate) +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 2; + public void foo(); +} + +// FILE: test.kt +open class InternalVisibility { + @PublishedApi + internal open val a: Int = 4 + @PublishedApi + internal open fun foo() {} +} + +class A : JavaDefault, InternalVisibility() { + override fun foo() {} + override val a: Int + get() = 10 +} + +class B : JavaPublic, InternalVisibility() { + override fun foo() {} + override val a: Int + get() = 10 +} + +abstract class C : JavaDefault, KotlinInternalSeparate() + +class D : JavaDefault, KotlinInternalSeparate() { + override fun foo() {} +} + +abstract class E : JavaPublic, KotlinInternalSeparate() + +class F : JavaPublic, KotlinInternalSeparate() { + override fun foo() {} +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F){ + a.foo() + a.a + b.foo() + b.a + c.foo() + d.foo() + f.foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt.txt new file mode 100644 index 00000000000..3fbfd9411e6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt.txt @@ -0,0 +1,128 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +open class KotlinInternalSeparate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + + @PublishedApi + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +// MODULE: main +// FILE: test.kt + +class A : InternalVisibility, JavaDefault { + constructor() /* primary */ { + super/*InternalVisibility*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 10 + } + +} + +class B : InternalVisibility, JavaPublic { + constructor() /* primary */ { + super/*InternalVisibility*/() + /* () */ + + } + + override fun foo() { + } + + internal override val a: Int + internal override get(): Int { + return 10 + } + +} + +abstract class C : KotlinInternalSeparate, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + +} + +class D : KotlinInternalSeparate, JavaDefault { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class E : KotlinInternalSeparate, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + +} + +class F : KotlinInternalSeparate, JavaPublic { + constructor() /* primary */ { + super/*KotlinInternalSeparate*/() + /* () */ + + } + + override fun foo() { + } + +} + +open class InternalVisibility { + @PublishedApi + internal open val a: Int + field = 4 + internal open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @PublishedApi + internal open fun foo() { + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F) { + a.foo() + a.() /*~> Unit */ + b.foo() + b.() /*~> Unit */ + c.foo() + d.foo() + f.foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.sig.kt.txt new file mode 100644 index 00000000000..73ff0e22c56 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.sig.kt.txt @@ -0,0 +1,203 @@ +// MODULE: separate +// FILE: KotlinInternalSeparate.kt + +// CHECK: +// Mangled name: KotlinInternalSeparate +// Public signature: /KotlinInternalSeparate|null[0] +open class KotlinInternalSeparate { + // CHECK: + // Mangled name: KotlinInternalSeparate#(){} + // Public signature: /KotlinInternalSeparate.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternalSeparate#foo(){} + // Public signature: /KotlinInternalSeparate.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternalSeparate{}a + // Public signature: /KotlinInternalSeparate.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternalSeparate#(){}kotlin.Int + // Public signature: /KotlinInternalSeparate.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : InternalVisibility, JavaDefault { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : InternalVisibility, JavaPublic { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: B{}a + // Public signature: /B.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal override val a: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal override get(): Int + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +abstract class C : KotlinInternalSeparate, JavaDefault { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : KotlinInternalSeparate, JavaDefault { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +abstract class E : KotlinInternalSeparate, JavaPublic { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinInternalSeparate, JavaPublic { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: InternalVisibility +// Public signature: /InternalVisibility|null[0] +open class InternalVisibility { + // CHECK: + // Mangled name: InternalVisibility{}a + // Public signature: /InternalVisibility.a|-1200697420457237799[0] + // Public signature debug description: {}a + @PublishedApi + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: InternalVisibility#(){}kotlin.Int + // Public signature: /InternalVisibility.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get + + // CHECK: + // Mangled name: InternalVisibility#(){} + // Public signature: /InternalVisibility.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: InternalVisibility#foo(){} + // Public signature: /InternalVisibility.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + @PublishedApi + internal open fun foo(): Unit + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F){} +// Public signature: /test|-4390352378432875580[0] +// Public signature debug description: test(A;B;C;D;E;F){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.ir.txt new file mode 100644 index 00000000000..8ce295bcb31 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.ir.txt @@ -0,0 +1,832 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinDefault]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate] + $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:[.JavaDefaultSeparateModule; .KotlinPrivate]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefaultSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaDefaultSeparateModule + 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 .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinProtected]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPublic]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinInternal]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinDefault]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaProtectedSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.JavaProtectedSeparateModule + 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 .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPublic]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinProtected + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .KotlinProtected' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinProtected declared in .KotlinProtected.' type=.KotlinProtected origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinProtected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.L) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .L' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .L declared in .L.' type=.L origin=null + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtectedSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.M) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .M' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .M declared in .M.' type=.M origin=null + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtectedSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.M) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .N' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .N declared in .N.' type=.N origin=null + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .JavaDefault]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefaultSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaDefaultSeparateModule + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.P) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .P' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .P declared in .P.' type=.P origin=null + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .R' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .R declared in .R.' type=.R origin=null + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefaultSeparateModule]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + CLASS INTERFACE name:KotlinDefault modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinDefault + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinDefault' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPrivate modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPrivate + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + PROPERTY name:a visibility:private modality:FINAL [val] + FUN name: visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinPrivate' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPublic modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPublic + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinPublic' + CONST Int type=kotlin.Int value=1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, r:.R) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:i index:7 type:.I + VALUE_PARAMETER name:j index:8 type:.J + VALUE_PARAMETER name:k index:9 type:.K + VALUE_PARAMETER name:l index:10 type:.L + VALUE_PARAMETER name:m index:11 type:.M + VALUE_PARAMETER name:n index:12 type:.N + VALUE_PARAMETER name:o index:13 type:.O + VALUE_PARAMETER name:p index:14 type:.P + VALUE_PARAMETER name:r index:15 type:.R + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .G' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .I' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .J' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .M' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .N' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .R' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.kt.txt new file mode 100644 index 00000000000..3fe8445acec --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.fir.kt.txt @@ -0,0 +1,349 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +abstract class A : JavaDefaultSeparateModule, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class B : JavaDefaultSeparateModule, KotlinPrivate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : JavaDefaultSeparateModule, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class D : KotlinProtected, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class E : JavaDefaultSeparateModule, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class F : KotlinInternal, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class G : JavaProtectedSeparateModule, KotlinDefault { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class H : JavaProtectedSeparateModule, KotlinPrivate { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + +} + +class I : JavaProtectedSeparateModule, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +class J : JavaProtectedSeparateModule, KotlinPublic { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class K : JavaDefaultSeparateModule, JavaPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +open class KotlinProtected { + protected open val a: Int + field = 1 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +class L : JavaDefaultSeparateModule, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class M : JavaProtectedSeparateModule, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +class N : JavaProtectedSeparateModule, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class O : JavaPrivate, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class P : JavaPrivate, JavaDefaultSeparateModule { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +class R : JavaProtected, JavaDefaultSeparateModule { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +interface KotlinDefault { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +interface KotlinPrivate { + private final fun foo() { + } + + private final val a: Int + private final get(): Int { + return 1 + } + +} + +interface KotlinPublic { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, r: R) { + a.foo() + a.() /*~> Unit */ + b.foo() + c.foo() + d.foo() + e.foo() + e.() /*~> Unit */ + f.foo() + f.() /*~> Unit */ + g.foo() + g.() /*~> Unit */ + i.foo() + i.() /*~> Unit */ + j.foo() + j.() /*~> Unit */ + k.foo() + l.foo() + l.() /*~> Unit */ + m.foo() + m.() /*~> Unit */ + n.foo() + n.() /*~> Unit */ + o.foo() + p.foo() + p.() /*~> Unit */ + r.foo() + r.() /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.ir.txt new file mode 100644 index 00000000000..3ac657525a6 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.ir.txt @@ -0,0 +1,853 @@ +Module: separate +Module: main +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinDefault]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate] + $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:[.JavaDefaultSeparateModule; .KotlinPrivate]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefaultSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaDefaultSeparateModule + 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 .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .C declared in .C.' type=.C origin=null + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPrivate]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.C) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.C + BLOCK_BODY + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinProtected] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinProtected]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinProtected + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + protected open fun foo (): kotlin.Unit declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open a: kotlin.Int + FUN name: visibility:protected modality:OPEN <> ($this:.D) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + overridden: + protected open fun (): kotlin.Int declared in .KotlinProtected + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .D' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.E + CONSTRUCTOR visibility:public <> () returnType:.E [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinPublic]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.E) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.E + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .E' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinInternal] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F + CONSTRUCTOR visibility:public <> () returnType:.F [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .KotlinInternal' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[.JavaDefaultSeparateModule; .KotlinInternal]' + 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 .JavaDefaultSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinInternal + $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 .JavaDefaultSeparateModule + public open fun toString (): kotlin.String declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + internal open fun foo (): kotlin.Unit declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.F) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + internal open fun (): kotlin.Int declared in .KotlinInternal + $this: VALUE_PARAMETER name: type:.F + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .F' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.G + CONSTRUCTOR visibility:public <> () returnType:.G [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinDefault]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinDefault + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.G) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinDefault + $this: VALUE_PARAMETER name: type:.G + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .G' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.H + CONSTRUCTOR visibility:public <> () returnType:.H [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:protected/*protected and package*/ modality:OPEN <> ($this:.JavaProtectedSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.JavaProtectedSeparateModule + 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 .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=5 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.I) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .I' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .I declared in .I.' type=.I origin=null + CONSTRUCTOR visibility:public <> () returnType:.I [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPrivate]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPrivate + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPrivate + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.I) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.I + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPublic] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.J + CONSTRUCTOR visibility:public <> () returnType:.J [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:J modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .KotlinPublic]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .KotlinPublic + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public open fun foo (): kotlin.Unit declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open a: kotlin.Int + FUN name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.Int declared in .KotlinPublic + $this: VALUE_PARAMETER name: type:.J + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .J' + CONST Int type=kotlin.Int value=5 + CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K + CONSTRUCTOR visibility:public <> () returnType:.K [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K modality:ABSTRACT visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaPublic) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaPublic + 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 .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinInternal + CONSTRUCTOR visibility:public <> () returnType:.KotlinInternal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinInternal modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + PROPERTY name:a visibility:internal modality:OPEN [val] + FUN name: visibility:internal modality:OPEN <> ($this:.KotlinInternal) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:internal modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinInternal + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .KotlinInternal' + CONST Int type=kotlin.Int value=1 + CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinProtected + PROPERTY name:a visibility:protected modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:protected modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .KotlinProtected' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .KotlinProtected declared in .KotlinProtected.' type=.KotlinProtected origin=null + CONSTRUCTOR visibility:public <> () returnType:.KotlinProtected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:KotlinProtected modality:OPEN visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:protected modality:OPEN <> ($this:.KotlinProtected) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinProtected + BLOCK_BODY + CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.L + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.L) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .L' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .L declared in .L.' type=.L origin=null + CONSTRUCTOR visibility:public <> () returnType:.L [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:L modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaDefaultSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.L) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.L + BLOCK_BODY + CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtectedSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.M + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.M) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .M' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .M declared in .M.' type=.M origin=null + CONSTRUCTOR visibility:public <> () returnType:.M [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:M modality:FINAL visibility:public superTypes:[.JavaPublic; .JavaProtectedSeparateModule]' + 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 .JavaPublic + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPublic + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + $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 .JavaPublic + public open fun toString (): kotlin.String declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.M) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaPublic + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + $this: VALUE_PARAMETER name: type:.M + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .JavaDefault] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.N + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.N) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .N' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .N declared in .N.' type=.N origin=null + CONSTRUCTOR visibility:public <> () returnType:.N [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtectedSeparateModule' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:N modality:FINAL visibility:public superTypes:[.JavaProtectedSeparateModule; .JavaDefault]' + 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 .JavaProtectedSeparateModule + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtectedSeparateModule + public open fun hashCode (): kotlin.Int declared in .JavaDefault + $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 .JavaProtectedSeparateModule + public open fun toString (): kotlin.String declared in .JavaDefault + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.N) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtectedSeparateModule + public abstract fun foo (): kotlin.Unit declared in .JavaDefault + $this: VALUE_PARAMETER name: type:.N + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.O + CONSTRUCTOR visibility:public <> () returnType:.O [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:O modality:ABSTRACT visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.JavaDefaultSeparateModule) returnType:kotlin.Unit [fake_override] + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.JavaDefaultSeparateModule + 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 .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.P + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.P) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .P' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .P declared in .P.' type=.P origin=null + CONSTRUCTOR visibility:public <> () returnType:.P [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaPrivate' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:P modality:FINAL visibility:public superTypes:[.JavaPrivate; .JavaDefaultSeparateModule]' + 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 .JavaPrivate + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaPrivate + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaPrivate + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.P) returnType:kotlin.Unit + overridden: + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.P + BLOCK_BODY + CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefaultSeparateModule] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.R + PROPERTY name:a visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.R) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .R' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .R declared in .R.' type=.R origin=null + CONSTRUCTOR visibility:public <> () returnType:.R [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .JavaProtected' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:R modality:FINAL visibility:public superTypes:[.JavaProtected; .JavaDefaultSeparateModule]' + 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 .JavaProtected + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .JavaProtected + public open fun hashCode (): kotlin.Int declared in .JavaDefaultSeparateModule + $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 .JavaProtected + public open fun toString (): kotlin.String declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.R) returnType:kotlin.Unit + overridden: + protected/*protected and package*/ open fun foo (): kotlin.Unit declared in .JavaProtected + public abstract fun foo (): kotlin.Unit declared in .JavaDefaultSeparateModule + $this: VALUE_PARAMETER name: type:.R + BLOCK_BODY + PROPERTY FAKE_OVERRIDE name:a visibility:protected/*protected and package*/ modality:FINAL [fake_override,var] + overridden: + protected/*protected and package*/ final a: kotlin.Int + CLASS INTERFACE name:KotlinDefault modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinDefault + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinDefault) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinDefault + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinDefault' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPrivate modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPrivate + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + PROPERTY name:a visibility:private modality:FINAL [val] + FUN name: visibility:private modality:FINAL <> ($this:.KotlinPrivate) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.KotlinPrivate + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .KotlinPrivate' + CONST Int type=kotlin.Int value=1 + CLASS INTERFACE name:KotlinPublic modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.KotlinPublic + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + PROPERTY name:a visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.KotlinPublic) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.KotlinPublic + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .KotlinPublic' + CONST Int type=kotlin.Int value=1 + FUN name:test visibility:public modality:FINAL <> (a:.A, b:.B, c:.C, d:.D, e:.E, f:.F, g:.G, i:.I, j:.J, k:.K, l:.L, m:.M, n:.N, o:.O, p:.P, r:.R) returnType:kotlin.Unit + VALUE_PARAMETER name:a index:0 type:.A + VALUE_PARAMETER name:b index:1 type:.B + VALUE_PARAMETER name:c index:2 type:.C + VALUE_PARAMETER name:d index:3 type:.D + VALUE_PARAMETER name:e index:4 type:.E + VALUE_PARAMETER name:f index:5 type:.F + VALUE_PARAMETER name:g index:6 type:.G + VALUE_PARAMETER name:i index:7 type:.I + VALUE_PARAMETER name:j index:8 type:.J + VALUE_PARAMETER name:k index:9 type:.K + VALUE_PARAMETER name:l index:10 type:.L + VALUE_PARAMETER name:m index:11 type:.M + VALUE_PARAMETER name:n index:12 type:.N + VALUE_PARAMETER name:o index:13 type:.O + VALUE_PARAMETER name:p index:14 type:.P + VALUE_PARAMETER name:r index:15 type:.R + BLOCK_BODY + CALL 'public open fun foo (): kotlin.Unit declared in .A' type=kotlin.Unit origin=null + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .A' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'a: .A declared in .test' type=.A origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .B' type=kotlin.Unit origin=null + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .D' type=kotlin.Unit origin=null + $this: GET_VAR 'd: .D declared in .test' type=.D origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .E' type=kotlin.Unit origin=null + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .E' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'e: .E declared in .test' type=.E origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .F' type=kotlin.Unit origin=null + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public open fun (): kotlin.Int declared in .F' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'f: .F declared in .test' type=.F origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .G' type=kotlin.Unit origin=null + $this: GET_VAR 'g: .G declared in .test' type=.G origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'g: .G declared in .test' type=.G origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'i: .I declared in .test' type=.I origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'i: .I declared in .test' type=.I origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .J' type=kotlin.Unit origin=null + $this: GET_VAR 'j: .J declared in .test' type=.J origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'j: .J declared in .test' type=.J origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .K' type=kotlin.Unit origin=null + $this: GET_VAR 'k: .K declared in .test' type=.K origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .L' type=kotlin.Unit origin=null + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .L' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'l: .L declared in .test' type=.L origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .M' type=kotlin.Unit origin=null + $this: GET_VAR 'm: .M declared in .test' type=.M origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'm: .M declared in .test' type=.M origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .N' type=kotlin.Unit origin=null + $this: GET_VAR 'n: .N declared in .test' type=.N origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'n: .N declared in .test' type=.N origin=null + CALL 'public abstract fun foo (): kotlin.Unit declared in .O' type=kotlin.Unit origin=null + $this: GET_VAR 'o: .O declared in .test' type=.O origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .P' type=kotlin.Unit origin=null + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public final fun (): kotlin.Int declared in .P' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR 'p: .P declared in .test' type=.P origin=null + CALL 'public open fun foo (): kotlin.Unit declared in .R' type=kotlin.Unit origin=null + $this: GET_VAR 'r: .R declared in .test' type=.R origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:a type:kotlin.Int visibility:protected/*protected and package*/' type=kotlin.Int origin=null + receiver: GET_VAR 'r: .R declared in .test' type=.R origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt new file mode 100644 index 00000000000..4cc7841c548 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt @@ -0,0 +1,177 @@ +// TARGET_BACKEND: JVM + +// MODULE: separate +// FILE: JavaDefaultSeparateModule.java +public interface JavaDefaultSeparateModule { + int a = 2; + void foo(); +} +// FILE: JavaProtectedSeparateModule.java +public class JavaProtectedSeparateModule { + protected int a = 22; + protected void foo() { } +} + +// MODULE: main +// FILE: JavaProtected.java +public class JavaProtected { + protected int a = 3; + protected void foo() {} +} + +// FILE: JavaDefault.java +public interface JavaDefault { + int a = 2; + void foo(); +} + +// FILE: JavaPublic.java +public interface JavaPublic { + public int a = 1; + public void foo(); +} + +// FILE: JavaPrivate.java +public class JavaPrivate { + private int a = 2; + private void foo(){} +} + +// FILE: test.kt +abstract class A: JavaDefaultSeparateModule, KotlinDefault { + public override fun foo() { } + public override val a: Int + get() = 5 +} + +abstract class B : JavaDefaultSeparateModule, KotlinPrivate + +class C : JavaDefaultSeparateModule, KotlinPrivate { + public override fun foo() {} + val a = 5 +} + +class D : JavaDefaultSeparateModule, KotlinProtected() { + public override fun foo() {} + protected override val a: Int + get() = 5 +} + +class E : JavaDefaultSeparateModule, KotlinPublic { + public override fun foo() {} + override val a: Int + get() = 5 +} + +class F : JavaDefaultSeparateModule, KotlinInternal() { + public override fun foo() {} + public override val a: Int + get() = 5 +} + +class G : JavaProtectedSeparateModule(), KotlinDefault { + public override fun foo() {} + public override val a: Int + get() = 5 +} + +class H : JavaProtectedSeparateModule(), KotlinPrivate + +class I : JavaProtectedSeparateModule(), KotlinPrivate { + public override fun foo() {} + val a = 5 +} + +class J : JavaProtectedSeparateModule(), KotlinPublic { + public override fun foo() {} + override val a: Int + get() = 5 +} + +abstract class K : JavaPublic, JavaDefaultSeparateModule + +class L : JavaPublic, JavaDefaultSeparateModule { + override fun foo() {} + val a = 1 +} + +class M : JavaPublic, JavaProtectedSeparateModule() { + override fun foo() {} + val a = 1 +} + +class N : JavaProtectedSeparateModule(), JavaDefault { + override fun foo() {} + val a = 1 +} + +abstract class O : JavaPrivate(), JavaDefaultSeparateModule + +class P : JavaPrivate(), JavaDefaultSeparateModule { + override fun foo() {} + val a = 1 +} + +class R : JavaProtected(), JavaDefaultSeparateModule { + override fun foo() {} + val a = 1 +} + +interface KotlinPrivate { + private val a : Int + get() = 1 + private fun foo(){} +} + +open class KotlinProtected { + protected open val a : Int = 1 + protected open fun foo(){} +} + +interface KotlinDefault { + val a : Int + get() = 1 + fun foo(){} +} + +interface KotlinPublic { + public val a : Int + get() = 1 + public fun foo(){} +} + +open class KotlinInternal { + internal open val a : Int + get() = 1 + internal open fun foo(){} +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, r: R) { + a.foo() + a.a + b.foo() + c.foo() + d.foo() + e.foo() + e.a + f.foo() + f.a + g.foo() + g.a + i.foo() + i.a + j.foo() + j.a + k.foo() + l.foo() + l.a + m.foo() + m.a + n.foo() + n.a + o.foo() + p.foo() + p.a + r.foo() + r.a +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt.txt new file mode 100644 index 00000000000..53d5e4ce494 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt.txt @@ -0,0 +1,349 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +abstract class A : JavaDefaultSeparateModule, KotlinDefault { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class B : JavaDefaultSeparateModule, KotlinPrivate { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class C : JavaDefaultSeparateModule, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class D : KotlinProtected, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*KotlinProtected*/() + /* () */ + + } + + override fun foo() { + } + + protected override val a: Int + protected override get(): Int { + return 5 + } + +} + +class E : JavaDefaultSeparateModule, KotlinPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class F : KotlinInternal, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*KotlinInternal*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class G : JavaProtectedSeparateModule, KotlinDefault { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +class H : JavaProtectedSeparateModule, KotlinPrivate { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + +} + +class I : JavaProtectedSeparateModule, KotlinPrivate { + val a: Int + field = 5 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +class J : JavaProtectedSeparateModule, KotlinPublic { + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + + override val a: Int + override get(): Int { + return 5 + } + +} + +abstract class K : JavaDefaultSeparateModule, JavaPublic { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +open class KotlinInternal { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + internal open fun foo() { + } + + internal open val a: Int + internal open get(): Int { + return 1 + } + +} + +open class KotlinProtected { + protected open val a: Int + field = 1 + protected open get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + protected open fun foo() { + } + +} + +class L : JavaDefaultSeparateModule, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override fun foo() { + } + +} + +class M : JavaProtectedSeparateModule, JavaPublic { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +class N : JavaProtectedSeparateModule, JavaDefault { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtectedSeparateModule*/() + /* () */ + + } + + override fun foo() { + } + +} + +abstract class O : JavaPrivate, JavaDefaultSeparateModule { + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + +} + +class P : JavaPrivate, JavaDefaultSeparateModule { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaPrivate*/() + /* () */ + + } + + override fun foo() { + } + +} + +class R : JavaProtected, JavaDefaultSeparateModule { + val a: Int + field = 1 + get + + constructor() /* primary */ { + super/*JavaProtected*/() + /* () */ + + } + + override fun foo() { + } + +} + +interface KotlinDefault { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +interface KotlinPrivate { + private final fun foo() { + } + + private final val a: Int + private final get(): Int { + return 1 + } + +} + +interface KotlinPublic { + fun foo() { + } + + val a: Int + get(): Int { + return 1 + } + +} + +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, r: R) { + a.foo() + a.() /*~> Unit */ + b.foo() + c.foo() + d.foo() + e.foo() + e.() /*~> Unit */ + f.foo() + f.() /*~> Unit */ + g.foo() + g(super).#a /*~> Unit */ + i.foo() + i(super).#a /*~> Unit */ + j.foo() + j(super).#a /*~> Unit */ + k.foo() + l.foo() + l.() /*~> Unit */ + m.foo() + m(super).#a /*~> Unit */ + n.foo() + n(super).#a /*~> Unit */ + o.foo() + p.foo() + p.() /*~> Unit */ + r.foo() + r(super).#a /*~> Unit */ +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.sig.kt.txt new file mode 100644 index 00000000000..86a3ed7e358 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.sig.kt.txt @@ -0,0 +1,585 @@ +// MODULE: separate +// MODULE: main +// FILE: test.kt + +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A : JavaDefaultSeparateModule, KotlinDefault { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#foo(){} + // Public signature: /A.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: A{}a + // Public signature: /A.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : JavaDefaultSeparateModule, KotlinPrivate { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#foo(){} + // Public signature: /B.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : JavaDefaultSeparateModule, KotlinPrivate { + // CHECK: + // Mangled name: C{}a + // Public signature: /C.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#foo(){} + // Public signature: /C.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : KotlinProtected, JavaDefaultSeparateModule { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: D#foo(){} + // Public signature: /D.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: D{}a + // Public signature: /D.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected override val a: Int + // CHECK JVM_IR: + // Mangled name: D#(){}kotlin.Int + // Public signature: /D.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected override get(): Int + +} + +// CHECK: +// Mangled name: E +// Public signature: /E|null[0] +class E : JavaDefaultSeparateModule, KotlinPublic { + // CHECK: + // Mangled name: E#(){} + // Public signature: /E.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: E#foo(){} + // Public signature: /E.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: E{}a + // Public signature: /E.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: E#(){}kotlin.Int + // Public signature: /E.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: F +// Public signature: /F|null[0] +class F : KotlinInternal, JavaDefaultSeparateModule { + // CHECK: + // Mangled name: F#(){} + // Public signature: /F.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: F#foo(){} + // Public signature: /F.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: F{}a + // Public signature: /F.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: F#(){}kotlin.Int + // Public signature: /F.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: G +// Public signature: /G|null[0] +class G : JavaProtectedSeparateModule, KotlinDefault { + // CHECK: + // Mangled name: G#(){} + // Public signature: /G.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: G#foo(){} + // Public signature: /G.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: G{}a + // Public signature: /G.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: G#(){}kotlin.Int + // Public signature: /G.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: H +// Public signature: /H|null[0] +class H : JavaProtectedSeparateModule, KotlinPrivate { + // CHECK: + // Mangled name: H#(){} + // Public signature: /H.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: H#foo(){} + // Public signature: /H.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected_and_package /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: I +// Public signature: /I|null[0] +class I : JavaProtectedSeparateModule, KotlinPrivate { + // CHECK: + // Mangled name: I{}a + // Public signature: /I.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: I#(){}kotlin.Int + // Public signature: /I.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: I#(){} + // Public signature: /I.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: I#foo(){} + // Public signature: /I.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: J +// Public signature: /J|null[0] +class J : JavaProtectedSeparateModule, KotlinPublic { + // CHECK: + // Mangled name: J#(){} + // Public signature: /J.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: J#foo(){} + // Public signature: /J.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + + // CHECK: + // Mangled name: J{}a + // Public signature: /J.a|-1200697420457237799[0] + // Public signature debug description: {}a + override val a: Int + // CHECK JVM_IR: + // Mangled name: J#(){}kotlin.Int + // Public signature: /J.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + override get(): Int + +} + +// CHECK: +// Mangled name: K +// Public signature: /K|null[0] +abstract class K : JavaDefaultSeparateModule, JavaPublic { + // CHECK: + // Mangled name: K#(){} + // Public signature: /K.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: K#foo(){} + // Public signature: /K.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinInternal +// Public signature: /KotlinInternal|null[0] +open class KotlinInternal { + // CHECK: + // Mangled name: KotlinInternal#(){} + // Public signature: /KotlinInternal.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinInternal#foo(){} + // Public signature: /KotlinInternal.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + internal open fun foo(): Unit + + // CHECK: + // Mangled name: KotlinInternal{}a + // Public signature: /KotlinInternal.a|-1200697420457237799[0] + // Public signature debug description: {}a + internal open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinInternal#(){}kotlin.Int + // Public signature: /KotlinInternal.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + internal open get(): Int + +} + +// CHECK: +// Mangled name: KotlinProtected +// Public signature: /KotlinProtected|null[0] +open class KotlinProtected { + // CHECK: + // Mangled name: KotlinProtected{}a + // Public signature: /KotlinProtected.a|-1200697420457237799[0] + // Public signature debug description: {}a + protected open val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinProtected#(){}kotlin.Int + // Public signature: /KotlinProtected.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + protected open get + + // CHECK: + // Mangled name: KotlinProtected#(){} + // Public signature: /KotlinProtected.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: KotlinProtected#foo(){} + // Public signature: /KotlinProtected.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + protected open fun foo(): Unit + +} + +// CHECK: +// Mangled name: L +// Public signature: /L|null[0] +class L : JavaDefaultSeparateModule, JavaPublic { + // CHECK: + // Mangled name: L{}a + // Public signature: /L.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: L#(){}kotlin.Int + // Public signature: /L.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: L#(){} + // Public signature: /L.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: L#foo(){} + // Public signature: /L.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: M +// Public signature: /M|null[0] +class M : JavaProtectedSeparateModule, JavaPublic { + // CHECK: + // Mangled name: M{}a + // Public signature: /M.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: M#(){}kotlin.Int + // Public signature: /M.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: M#(){} + // Public signature: /M.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: M#foo(){} + // Public signature: /M.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: N +// Public signature: /N|null[0] +class N : JavaProtectedSeparateModule, JavaDefault { + // CHECK: + // Mangled name: N{}a + // Public signature: /N.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: N#(){}kotlin.Int + // Public signature: /N.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: N#(){} + // Public signature: /N.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: N#foo(){} + // Public signature: /N.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: O +// Public signature: /O|null[0] +abstract class O : JavaPrivate, JavaDefaultSeparateModule { + // CHECK: + // Mangled name: O#(){} + // Public signature: /O.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: O#foo(){} + // Public signature: /O.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + abstract /* fake */ override fun foo(): Unit + +} + +// CHECK: +// Mangled name: P +// Public signature: /P|null[0] +class P : JavaPrivate, JavaDefaultSeparateModule { + // CHECK: + // Mangled name: P{}a + // Public signature: /P.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: P#(){}kotlin.Int + // Public signature: /P.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: P#(){} + // Public signature: /P.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: P#foo(){} + // Public signature: /P.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: R +// Public signature: /R|null[0] +class R : JavaProtected, JavaDefaultSeparateModule { + // CHECK: + // Mangled name: R{}a + // Public signature: /R.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: R#(){}kotlin.Int + // Public signature: /R.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get + + // CHECK: + // Mangled name: R#(){} + // Public signature: /R.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: R#foo(){} + // Public signature: /R.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + override fun foo(): Unit + +} + +// CHECK: +// Mangled name: KotlinDefault +// Public signature: /KotlinDefault|null[0] +interface KotlinDefault { + // CHECK: + // Mangled name: KotlinDefault#foo(){} + // Public signature: /KotlinDefault.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + + // CHECK: + // Mangled name: KotlinDefault{}a + // Public signature: /KotlinDefault.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinDefault#(){}kotlin.Int + // Public signature: /KotlinDefault.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + +} + +// CHECK: +// Mangled name: KotlinPrivate +// Public signature: /KotlinPrivate|null[0] +interface KotlinPrivate { + // CHECK: + // Mangled name: KotlinPrivate#foo(){} + // Public signature: /KotlinPrivate.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + private final fun foo(): Unit + + // CHECK: + // Mangled name: KotlinPrivate{}a + // Public signature: /KotlinPrivate.a|-1200697420457237799[0] + // Public signature debug description: {}a + private final val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinPrivate#(){}kotlin.Int + // Public signature: /KotlinPrivate.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + private final get(): Int + +} + +// CHECK: +// Mangled name: KotlinPublic +// Public signature: /KotlinPublic|null[0] +interface KotlinPublic { + // CHECK: + // Mangled name: KotlinPublic#foo(){} + // Public signature: /KotlinPublic.foo|-1041209573719867811[0] + // Public signature debug description: foo(){} + fun foo(): Unit + + // CHECK: + // Mangled name: KotlinPublic{}a + // Public signature: /KotlinPublic.a|-1200697420457237799[0] + // Public signature debug description: {}a + val a: Int + // CHECK JVM_IR: + // Mangled name: KotlinPublic#(){}kotlin.Int + // Public signature: /KotlinPublic.a.|4232747788241509192[0] + // Public signature debug description: (){}kotlin.Int + get(): Int + +} + +// CHECK: +// Mangled name: #test(A;B;C;D;E;F;G;I;J;K;L;M;N;O;P;R){} +// Public signature: /test|-7254927762294999826[0] +// Public signature debug description: test(A;B;C;D;E;F;G;I;J;K;L;M;N;O;P;R){} +fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, r: R): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.ir.txt new file mode 100644 index 00000000000..7717f67d291 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.ir.txt @@ -0,0 +1,101 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funA1 visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:funA2 visibility:protected modality:OPEN <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + FUN name:funA3 visibility:internal modality:OPEN <> ($this:.A) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:funA1 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + public open fun funA1 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:funA2 visibility:protected modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + protected open fun funA2 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + FUN name:funA3 visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Unit + overridden: + internal open fun funA3 (): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:funA1 visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Unit [fake_override] + overridden: + public open fun funA1 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.B + FUN FAKE_OVERRIDE name:funA2 visibility:protected modality:OPEN <> ($this:.B) returnType:kotlin.Unit [fake_override] + overridden: + protected open fun funA2 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.B + FUN FAKE_OVERRIDE name:funA3 visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Unit [fake_override] + overridden: + internal open fun funA3 (): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.B + 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 .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:test visibility:public modality:FINAL <> (c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:.C + BLOCK_BODY + CALL 'public open fun funA1 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + CALL 'internal open fun funA3 (): kotlin.Unit declared in .C' type=kotlin.Unit origin=null + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.kt.txt new file mode 100644 index 00000000000..55d56139651 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.fir.kt.txt @@ -0,0 +1,49 @@ +abstract class A { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + open fun funA1() { + } + + protected open fun funA2() { + } + + internal open fun funA3() { + } + +} + +abstract class B : A { + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + + override fun funA1() { + } + + protected override fun funA2() { + } + + internal override fun funA3() { + } + +} + +class C : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(c: C) { + c.funA1() + c.funA3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt new file mode 100644 index 00000000000..7fa379c14ae --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt @@ -0,0 +1,27 @@ +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_K1: ANY +// ^ ISSUE: KT-65679 + +// FILE: J.java +public class J extends B {} + + +// FILE: test.kt +abstract class A { + open public fun funA1() {} + open protected fun funA2() {} + open internal fun funA3() {} +} + +abstract class B: A() { + override fun funA1() {} + override fun funA2() {} + override fun funA3() {} +} + +class C: J() {} + +fun test(c: C) { + c.funA1() + c.funA3() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.sig.kt.txt new file mode 100644 index 00000000000..89459809856 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.sig.kt.txt @@ -0,0 +1,95 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: A#funA1(){} + // Public signature: /A.funA1|-1861570915489783750[0] + // Public signature debug description: funA1(){} + open fun funA1(): Unit + + // CHECK: + // Mangled name: A#funA2(){} + // Public signature: /A.funA2|4227004615447903242[0] + // Public signature debug description: funA2(){} + protected open fun funA2(): Unit + + // CHECK: + // Mangled name: A#funA3(){} + // Public signature: /A.funA3|220898698606415605[0] + // Public signature debug description: funA3(){} + internal open fun funA3(): Unit + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : A { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B#funA1(){} + // Public signature: /B.funA1|-1861570915489783750[0] + // Public signature debug description: funA1(){} + override fun funA1(): Unit + + // CHECK: + // Mangled name: B#funA2(){} + // Public signature: /B.funA2|4227004615447903242[0] + // Public signature debug description: funA2(){} + protected override fun funA2(): Unit + + // CHECK: + // Mangled name: B#funA3(){} + // Public signature: /B.funA3|220898698606415605[0] + // Public signature debug description: funA3(){} + internal override fun funA3(): Unit + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : J { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C#funA1(){} + // Public signature: /C.funA1|-1861570915489783750[0] + // Public signature debug description: funA1(){} + /* fake */ override fun funA1(): Unit + + // CHECK: + // Mangled name: C#funA2(){} + // Public signature: /C.funA2|4227004615447903242[0] + // Public signature debug description: funA2(){} + protected /* fake */ override fun funA2(): Unit + + // CHECK: + // Mangled name: C#funA3(){} + // Public signature: /C.funA3|220898698606415605[0] + // Public signature debug description: funA3(){} + internal /* fake */ override fun funA3(): Unit + +} + +// CHECK: +// Mangled name: #test(C){} +// Public signature: /test|-3170651145558428552[0] +// Public signature debug description: test(C){} +fun test(c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.ir.txt new file mode 100644 index 00000000000..52645cea6f0 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.ir.txt @@ -0,0 +1,241 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a1 visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a1 visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a1 visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + PROPERTY name:a2 visibility:protected modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a2 visibility:protected modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a2 visibility:protected modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + PROPERTY name:a3 visibility:internal modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a3 visibility:internal modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a3 visibility:internal modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + PROPERTY name:a1 visibility:public modality:OPEN [var] + overridden: + public open a1: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a1 visibility:public modality:OPEN [var] + overridden: + public open fun (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a1 visibility:public modality:OPEN [var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + PROPERTY name:a2 visibility:protected modality:OPEN [var] + overridden: + protected open a2: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a2 visibility:protected modality:OPEN [var] + overridden: + protected open fun (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a2 visibility:protected modality:OPEN [var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + PROPERTY name:a3 visibility:internal modality:OPEN [var] + overridden: + internal open a3: kotlin.Int + FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.B) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a3 visibility:internal modality:OPEN [var] + overridden: + internal open fun (): kotlin.Int declared in .A + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal open fun (): kotlin.Int declared in .B' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:OPEN <> ($this:.B, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a3 visibility:internal modality:OPEN [var] + overridden: + internal open fun (: kotlin.Int): kotlin.Unit declared in .A + $this: VALUE_PARAMETER name: type:.B + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a3 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .B declared in .B.' type=.B origin=null + value: GET_VAR ': kotlin.Int declared in .B.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .A' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[.A]' + 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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .A + $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 .A + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open a1: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:a2 visibility:protected modality:OPEN [fake_override,var] + overridden: + protected open a2: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected modality:OPEN [fake_override,var] + overridden: + protected open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:protected modality:OPEN <> ($this:.J, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected modality:OPEN [fake_override,var] + overridden: + protected open fun (: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:a3 visibility:internal modality:OPEN [fake_override,var] + overridden: + internal open a3: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a3 visibility:internal modality:OPEN [fake_override,var] + overridden: + internal open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:internal modality:OPEN <> ($this:.J, :kotlin.Int) returnType:kotlin.Unit [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a3 visibility:internal modality:OPEN [fake_override,var] + overridden: + internal open fun (: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN name:test visibility:public modality:FINAL <> (c:.C) returnType:kotlin.Unit + VALUE_PARAMETER name:c index:0 type:.C + BLOCK_BODY + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=1 + CALL 'internal open fun (: kotlin.Int): kotlin.Unit declared in .C' type=kotlin.Unit origin=EQ + $this: GET_VAR 'c: .C declared in .test' type=.C origin=null + : CONST Int type=kotlin.Int value=2 diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.kt.txt new file mode 100644 index 00000000000..0bad49c34ee --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.fir.kt.txt @@ -0,0 +1,61 @@ +abstract class A { + open var a1: Int + field = 0 + open get + open set + + protected open var a2: Int + field = 0 + protected open get + protected open set + + internal open var a3: Int + field = 0 + internal open get + internal open set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +abstract class B : A { + override var a1: Int + field = 0 + override get + override set + + protected override var a2: Int + field = 0 + protected override get + protected override set + + internal override var a3: Int + field = 0 + internal override get + internal override set + + constructor() /* primary */ { + super/*A*/() + /* () */ + + } + +} + +class C : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(c: C) { + c.( = 1) + c.( = 2) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt new file mode 100644 index 00000000000..67a8e650fb7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt @@ -0,0 +1,26 @@ +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_K1: ANY +// ^ ISSUE: KT-65679 + +// FILE: J.java +public class J extends B {} + +// FILE: test.kt +abstract class A { + open public var a1 = 0 + open protected var a2 = 0 + open internal var a3 = 0 +} + +abstract class B: A() { + override public var a1 = 0 + override protected var a2 = 0 + override internal var a3 = 0 +} + +class C: J() {} + +fun test(c: C) { + c.a1 = 1 + c.a3 = 2 +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.sig.kt.txt new file mode 100644 index 00000000000..8de66cddbe9 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.sig.kt.txt @@ -0,0 +1,185 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A { + // CHECK: + // Mangled name: A{}a1 + // Public signature: /A.a1|8426250351583221125[0] + // Public signature debug description: {}a1 + open var a1: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a1.|-2553071475604985133[0] + // Public signature debug description: (){}kotlin.Int + open get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a1.|-6670542173151287013[0] + // Public signature debug description: (kotlin.Int){} + open set + + // CHECK: + // Mangled name: A{}a2 + // Public signature: /A.a2|-956821556695583680[0] + // Public signature debug description: {}a2 + protected open var a2: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a2.|8066672597839215435[0] + // Public signature debug description: (){}kotlin.Int + protected open get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a2.|-5252764751525774340[0] + // Public signature debug description: (kotlin.Int){} + protected open set + + // CHECK: + // Mangled name: A{}a3 + // Public signature: /A.a3|2259298816435538940[0] + // Public signature debug description: {}a3 + internal open var a3: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a3.|-4636181095889988299[0] + // Public signature debug description: (){}kotlin.Int + internal open get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a3.|5835901200347915458[0] + // Public signature debug description: (kotlin.Int){} + internal open set + + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +abstract class B : A { + // CHECK: + // Mangled name: B{}a1 + // Public signature: /B.a1|8426250351583221125[0] + // Public signature debug description: {}a1 + override var a1: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a1.|-2553071475604985133[0] + // Public signature debug description: (){}kotlin.Int + override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a1.|-6670542173151287013[0] + // Public signature debug description: (kotlin.Int){} + override set + + // CHECK: + // Mangled name: B{}a2 + // Public signature: /B.a2|-956821556695583680[0] + // Public signature debug description: {}a2 + protected override var a2: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a2.|8066672597839215435[0] + // Public signature debug description: (){}kotlin.Int + protected override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a2.|-5252764751525774340[0] + // Public signature debug description: (kotlin.Int){} + protected override set + + // CHECK: + // Mangled name: B{}a3 + // Public signature: /B.a3|2259298816435538940[0] + // Public signature debug description: {}a3 + internal override var a3: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a3.|-4636181095889988299[0] + // Public signature debug description: (){}kotlin.Int + internal override get + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a3.|5835901200347915458[0] + // Public signature debug description: (kotlin.Int){} + internal override set + + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : J { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: C{}a1 + // Public signature: /C.a1|8426250351583221125[0] + // Public signature debug description: {}a1 + /* fake */ override var a1: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a1.|-2553071475604985133[0] + // Public signature debug description: (){}kotlin.Int + /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.a1.|-6670542173151287013[0] + // Public signature debug description: (kotlin.Int){} + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}a2 + // Public signature: /C.a2|-956821556695583680[0] + // Public signature debug description: {}a2 + protected /* fake */ override var a2: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a2.|8066672597839215435[0] + // Public signature debug description: (){}kotlin.Int + protected /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.a2.|-5252764751525774340[0] + // Public signature debug description: (kotlin.Int){} + protected /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: C{}a3 + // Public signature: /C.a3|2259298816435538940[0] + // Public signature debug description: {}a3 + internal /* fake */ override var a3: Int + // CHECK JVM_IR: + // Mangled name: C#(){}kotlin.Int + // Public signature: /C.a3.|-4636181095889988299[0] + // Public signature debug description: (){}kotlin.Int + internal /* fake */ override get(): Int + // CHECK: + // Mangled name: C#(kotlin.Int){} + // Public signature: /C.a3.|5835901200347915458[0] + // Public signature debug description: (kotlin.Int){} + internal /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: #test(C){} +// Public signature: /test|-3170651145558428552[0] +// Public signature debug description: test(C){} +fun test(c: C): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.ir.txt new file mode 100644 index 00000000000..f975b0d1c05 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.ir.txt @@ -0,0 +1,119 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a1 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + PROPERTY name:a2 visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a2 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a2 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open a1: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (a: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open a2: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J, a:kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open fun (a: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name:a index:0 type:kotlin.Int + FUN name:test visibility:public modality:FINAL <> (b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + BLOCK_BODY + CALL 'public open fun (a: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + a: CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.kt.txt new file mode 100644 index 00000000000..0a71a362352 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.fir.kt.txt @@ -0,0 +1,31 @@ +abstract class A { + var a1: Int + field = 0 + get + set + + protected var a2: Int + field = 0 + protected get + protected set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(b: B) { + b.(a = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.ir.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.ir.txt new file mode 100644 index 00000000000..1a35c76aea7 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.ir.txt @@ -0,0 +1,119 @@ +FILE fqName: fileName:/test.kt + CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + PROPERTY name:a1 visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a1 visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a1 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + PROPERTY name:a2 visibility:protected modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.A) returnType:kotlin.Int + correspondingProperty: PROPERTY name:a2 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlin.Int declared in .A' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL <> ($this:.A, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:a2 visibility:protected modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.A + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .A declared in .A.' type=.A origin=null + value: GET_VAR ': kotlin.Int declared in .A.' type=kotlin.Int origin=null + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .J' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.J]' + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .J + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .J + $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 .J + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open a1: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.J, :kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a1 visibility:public modality:OPEN [fake_override,var] + overridden: + public open fun (: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name: index:0 type:kotlin.Int + PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open a2: kotlin.Int + FUN FAKE_OVERRIDE name: visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J) returnType:kotlin.Int [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open fun (): kotlin.Int declared in .J + $this: VALUE_PARAMETER name: type:.J + FUN FAKE_OVERRIDE name: visibility:protected/*protected and package*/ modality:OPEN <> ($this:.J, :kotlin.Int) returnType:kotlin.Unit [fake_override] + annotations: + Override + correspondingProperty: PROPERTY FAKE_OVERRIDE name:a2 visibility:protected/*protected and package*/ modality:OPEN [fake_override,var] + overridden: + protected/*protected and package*/ open fun (: kotlin.Int): kotlin.Unit declared in .J + $this: VALUE_PARAMETER name: type:.J + VALUE_PARAMETER name: index:0 type:kotlin.Int + FUN name:test visibility:public modality:FINAL <> (b:.B) returnType:kotlin.Unit + VALUE_PARAMETER name:b index:0 type:.B + BLOCK_BODY + CALL 'public open fun (: kotlin.Int): kotlin.Unit declared in .B' type=kotlin.Unit origin=EQ + $this: GET_VAR 'b: .B declared in .test' type=.B origin=null + : CONST Int type=kotlin.Int value=1 diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt new file mode 100644 index 00000000000..1e600bd9b64 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt @@ -0,0 +1,23 @@ +// TARGET_BACKEND: JVM +// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR + +// FILE: J.java +public class J extends A { + @Override public int getA1() { return 1; } + @Override protected int getA2() { return 1; } + @Override public void setA1(int a) { } + @Override protected void setA2(int a) { } +} + + +// FILE: test.kt +abstract class A { + public var a1 = 0 + protected var a2 = 0 +} + +class B: J() {} + +fun test(b: B) { + b.a1 = 1 +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt.txt new file mode 100644 index 00000000000..4d8155f2265 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt.txt @@ -0,0 +1,31 @@ +abstract class A { + var a1: Int + field = 0 + get + set + + protected var a2: Int + field = 0 + protected get + protected set + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class B : J { + constructor() /* primary */ { + super/*J*/() + /* () */ + + } + +} + +fun test(b: B) { + b.( = 1) +} diff --git a/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.sig.kt.txt new file mode 100644 index 00000000000..094d2719f26 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.sig.kt.txt @@ -0,0 +1,97 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +abstract class A { + // CHECK: + // Mangled name: A{}a1 + // Public signature: /A.a1|8426250351583221125[0] + // Public signature debug description: {}a1 + var a1: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a1.|-2553071475604985133[0] + // Public signature debug description: (){}kotlin.Int + get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a1.|-6670542173151287013[0] + // Public signature debug description: (kotlin.Int){} + set + + // CHECK: + // Mangled name: A{}a2 + // Public signature: /A.a2|-956821556695583680[0] + // Public signature debug description: {}a2 + protected var a2: Int + // CHECK JVM_IR: + // Mangled name: A#(){}kotlin.Int + // Public signature: /A.a2.|8066672597839215435[0] + // Public signature debug description: (){}kotlin.Int + protected get + // CHECK: + // Mangled name: A#(kotlin.Int){} + // Public signature: /A.a2.|-5252764751525774340[0] + // Public signature debug description: (kotlin.Int){} + protected set + + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : J { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK: + // Mangled name: B{}a1 + // Public signature: /B.a1|8426250351583221125[0] + // Public signature debug description: {}a1 + /* fake */ override var a1: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a1.|-2553071475604985133[0] + // Public signature debug description: (){}kotlin.Int + @Override + /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a1.|-6670542173151287013[0] + // Public signature debug description: (kotlin.Int){} + @Override + /* fake */ override set(: Int): Unit + + // CHECK: + // Mangled name: B{}a2 + // Public signature: /B.a2|-956821556695583680[0] + // Public signature debug description: {}a2 + protected_and_package /* fake */ override var a2: Int + // CHECK JVM_IR: + // Mangled name: B#(){}kotlin.Int + // Public signature: /B.a2.|8066672597839215435[0] + // Public signature debug description: (){}kotlin.Int + @Override + protected_and_package /* fake */ override get(): Int + // CHECK: + // Mangled name: B#(kotlin.Int){} + // Public signature: /B.a2.|-5252764751525774340[0] + // Public signature debug description: (kotlin.Int){} + @Override + protected_and_package /* fake */ override set(: Int): Unit + +} + +// CHECK: +// Mangled name: #test(B){} +// Public signature: /test|3809392349795657853[0] +// Public signature debug description: test(B){} +fun test(b: B): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.ir.txt new file mode 100644 index 00000000000..89827964981 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.ir.txt @@ -0,0 +1,67 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A + CONSTRUCTOR visibility:public <> () returnType:.A [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $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:.Java1) returnType:@[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.B + CONSTRUCTOR visibility:public <> () returnType:.B [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[.Java1]' + 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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + $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 .Java1 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.B) returnType:java.lang.Void + overridden: + public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .Java1 + $this: VALUE_PARAMETER name: type:.B + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): java.lang.Void declared in .B' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:k type:java.lang.Void? [val] + CALL 'public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .A' type=@[FlexibleNullability] java.lang.Void? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k2 type:kotlin.Any [val] + TYPE_OP type=java.lang.Void origin=IMPLICIT_NOTNULL typeOperand=java.lang.Void + CALL 'public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .A' type=@[FlexibleNullability] java.lang.Void? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .A' type=.A origin=null + VAR name:k3 type:java.lang.Void [val] + CALL 'public open fun foo (): java.lang.Void declared in .B' type=java.lang.Void origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null + VAR name:k4 type:kotlin.Any [val] + CALL 'public open fun foo (): java.lang.Void declared in .B' type=java.lang.Void origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .B' type=.B origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt new file mode 100644 index 00000000000..950707caa0c --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt @@ -0,0 +1,25 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public Void foo(){ + return null; + } +} + +// FILE: 1.kt +class A : Java1() + +class B : Java1() { + override fun foo(): Void { + return null!! + } +} + +fun test() { + val k: Void? = A().foo() + val k2: Any = A().foo() + val k3: Void = B().foo() + val k4: Any = B().foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt.txt new file mode 100644 index 00000000000..f482e0b0cbd --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt.txt @@ -0,0 +1,28 @@ +class A : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class B : Java1 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(): Void { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test() { + val k: Void? = A().foo() + val k2: Any = A().foo() /*!! Void */ + val k3: Void = B().foo() + val k4: Any = B().foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.sig.kt.txt new file mode 100644 index 00000000000..a9ee6adbe61 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.sig.kt.txt @@ -0,0 +1,41 @@ +// CHECK: +// Mangled name: A +// Public signature: /A|null[0] +class A : Java1 { + // CHECK: + // Mangled name: A#(){} + // Public signature: /A.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: A#foo(){}java.lang.Void? + // Public signature: /A.foo|-8183408073515448638[0] + // Public signature debug description: foo(){}java.lang.Void? + /* fake */ override fun foo(): Void? + +} + +// CHECK: +// Mangled name: B +// Public signature: /B|null[0] +class B : Java1 { + // CHECK: + // Mangled name: B#(){} + // Public signature: /B.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: B#foo(){}java.lang.Void + // Public signature: /B.foo|8945654167990897125[0] + // Public signature debug description: foo(){}java.lang.Void + override fun foo(): Void + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit diff --git a/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.ir.txt b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.ir.txt new file mode 100644 index 00000000000..0fb50ca3cd2 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.ir.txt @@ -0,0 +1,73 @@ +FILE fqName: fileName:/1.kt + CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C + CONSTRUCTOR visibility:public <> () returnType:.C [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $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:.Java1) returnType:@[FlexibleNullability] java.lang.Void? [fake_override] + overridden: + public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.Java1 + 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 .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.D + CONSTRUCTOR visibility:public <> () returnType:.D [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .Java1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:FINAL visibility:public superTypes:[.Java1; .Java2]' + 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 .Java1 + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in .Java1 + public open fun hashCode (): kotlin.Int declared in .Java2 + $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 .Java1 + public open fun toString (): kotlin.String declared in .Java2 + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo visibility:public modality:OPEN <> ($this:.D) returnType:java.lang.Void + overridden: + public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .Java1 + public abstract fun foo (): @[FlexibleNullability] kotlin.Any? declared in .Java2 + $this: VALUE_PARAMETER name: type:.D + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun foo (): java.lang.Void declared in .D' + CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Nothing origin=EXCLEXCL + : kotlin.Nothing + arg0: CONST Null type=kotlin.Nothing? value=null + FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit + BLOCK_BODY + VAR name:k1 type:kotlin.Any [val] + TYPE_OP type=java.lang.Void origin=IMPLICIT_NOTNULL typeOperand=java.lang.Void + CALL 'public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .C' type=@[FlexibleNullability] java.lang.Void? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k2 type:java.lang.Void [val] + TYPE_OP type=java.lang.Void origin=IMPLICIT_NOTNULL typeOperand=java.lang.Void + CALL 'public open fun foo (): @[FlexibleNullability] java.lang.Void? declared in .C' type=@[FlexibleNullability] java.lang.Void? origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .C' type=.C origin=null + VAR name:k3 type:java.lang.Void [val] + CALL 'public open fun foo (): java.lang.Void declared in .D' type=java.lang.Void origin=null + $this: CONSTRUCTOR_CALL 'public constructor () declared in .D' type=.D origin=null diff --git a/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt new file mode 100644 index 00000000000..07a185a0671 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt @@ -0,0 +1,29 @@ +// FIR_IDENTICAL +// TARGET_BACKEND: JVM + +// FILE: Java1.java +public class Java1 { + public Void foo(){ + return null; + } +} + +// FILE: Java2.java +public interface Java2 { + public Object foo(); +} + +// FILE: 1.kt +class C : Java1(), Java2 + +class D : Java1(), Java2 { + override fun foo(): Void { + return null!! + } +} + +fun test() { + val k1: Any = C().foo() + val k2: Void = C().foo() + val k3: Void = D().foo() +} \ No newline at end of file diff --git a/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt.txt b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt.txt new file mode 100644 index 00000000000..005231216ac --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt.txt @@ -0,0 +1,27 @@ +class C : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + +} + +class D : Java1, Java2 { + constructor() /* primary */ { + super/*Java1*/() + /* () */ + + } + + override fun foo(): Void { + return CHECK_NOT_NULL(arg0 = null) + } + +} + +fun test() { + val k1: Any = C().foo() /*!! Void */ + val k2: Void = C().foo() /*!! Void */ + val k3: Void = D().foo() +} diff --git a/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.sig.kt.txt b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.sig.kt.txt new file mode 100644 index 00000000000..cbad47c2ed4 --- /dev/null +++ b/compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.sig.kt.txt @@ -0,0 +1,41 @@ +// CHECK: +// Mangled name: C +// Public signature: /C|null[0] +class C : Java1, Java2 { + // CHECK: + // Mangled name: C#(){} + // Public signature: /C.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: C#foo(){}java.lang.Void? + // Public signature: /C.foo|-8183408073515448638[0] + // Public signature debug description: foo(){}java.lang.Void? + /* fake */ override fun foo(): Void? + +} + +// CHECK: +// Mangled name: D +// Public signature: /D|null[0] +class D : Java1, Java2 { + // CHECK: + // Mangled name: D#(){} + // Public signature: /D.|-5645683436151566731[0] + // Public signature debug description: (){} + constructor() /* primary */ + + // CHECK JVM_IR: + // Mangled name: D#foo(){}java.lang.Void + // Public signature: /D.foo|8945654167990897125[0] + // Public signature debug description: foo(){}java.lang.Void + override fun foo(): Void + +} + +// CHECK: +// Mangled name: #test(){} +// Public signature: /test|6620506149988718649[0] +// Public signature debug description: test(){} +fun test(): Unit 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 9c9474aeb4d..3f7a911f64e 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 @@ -2745,6 +2745,1088 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest public void testSetterVisibliityWithJava() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliityWithJava.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicNullabilityAnnotationOverride.kt") + public void testBasicNullabilityAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/basicNullabilityAnnotationOverride.kt"); + } + + @Test + @TestMetadata("intersectionNullabilityAnnotation.kt") + public void testIntersectionNullabilityAnnotation() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/intersectionNullabilityAnnotation.kt"); + } + + @Test + @TestMetadata("kotlinCustomAnnotationOverride.kt") + public void testKotlinCustomAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/kotlinCustomAnnotationOverride.kt"); + } + + @Test + @TestMetadata("nullabilityAnnotationOverrideOnComplexHierarchy.kt") + public void testNullabilityAnnotationOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/nullabilityAnnotationOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("platformAnnotationOverride.kt") + public void testPlatformAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/platformAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeArgumentAnnotationOverride.kt") + public void testTypeArgumentAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeArgumentAnnotationOverride.kt"); + } + + @Test + @TestMetadata("typeParameterAnnotationOverride.kt") + public void testTypeParameterAnnotationOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/annotations/typeParameterAnnotationOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaCharSequenceOverride.kt") + public void testJavaCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/javaCharSequenceOverride.kt"); + } + + @Test + @TestMetadata("kotlinCharSequenceOverride.kt") + public void testKotlinCharSequenceOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/charsequence/kotlinCharSequenceOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionListOverrideKJJ.kt") + public void testIntersectionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionListOverrideKJK.kt") + public void testIntersectionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/intersectionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideKJ.kt") + public void testListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJJ.kt") + public void testListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJJ.kt"); + } + + @Test + @TestMetadata("listOverrideKJK.kt") + public void testListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideKJK.kt"); + } + + @Test + @TestMetadata("listOverrideOnComplexHierarchy.kt") + public void testListOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("listOverrideOnKJKJ.kt") + public void testListOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/listOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJ.kt") + public void testSubstitutionListOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJJ.kt") + public void testSubstitutionListOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJK.kt") + public void testSubstitutionListOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionListOverrideKJKJ.kt") + public void testSubstitutionListOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/list/substitutionListOverrideKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionMapOverrideKJJ.kt") + public void testIntersectionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionMapOverrideKJK.kt") + public void testIntersectionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJJ.kt") + public void testIntersectionWithGenericMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericMapOverrideKJK.kt") + public void testIntersectionWithGenericMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/intersectionWithGenericMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("mapOverrideKJKJ.kt") + public void testMapOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnComplexHierarchy.kt") + public void testMapOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJ.kt") + public void testMapOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("mapOverrideOnKJJ.kt") + public void testMapOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("mapOverrrideOnKJK.kt") + public void testMapOverrrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/mapOverrrideOnKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJJ.kt") + public void testSubstitutionMapOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJJ.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideKJK.kt") + public void testSubstitutionMapOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideKJK.kt"); + } + + @Test + @TestMetadata("substitutionMapOverrideOnKJKJ.kt") + public void testSubstitutionMapOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/substitutionMapOverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("sunstitutionMapOverrideKJ.kt") + public void testSunstitutionMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/map/sunstitutionMapOverrideKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionSetOverrideKJJ.kt") + public void testIntersectionSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionSetOverrideKJK.kt") + public void testIntersectionSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/intersectionSetOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJ.kt") + public void testSetOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJJ.kt") + public void testSetOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJJ.kt"); + } + + @Test + @TestMetadata("setOverrideKJK.kt") + public void testSetOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJK.kt"); + } + + @Test + @TestMetadata("setOverrideKJKJ.kt") + public void testSetOverrideKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideKJKJ.kt"); + } + + @Test + @TestMetadata("setOverrideOnComplexHierarchy.kt") + public void testSetOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/collections/set/setOverrideOnComplexHierarchy.kt"); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("dataClassMethodOverride.kt") + public void testDataClassMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/dataclass/dataClassMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("enumMethodOverride.kt") + public void testEnumMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/enum/enumMethodOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaModifiersOverride.kt") + public void testJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/javaModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinModifiersOverride.kt") + public void testKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers/kotlinModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicGenericMethodsOverride.kt") + public void testBasicGenericMethodsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericMethodsOverride.kt"); + } + + @Test + @TestMetadata("basicGenericWithBoundsOverride.kt") + public void testBasicGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("basicRawTypeOverride.kt") + public void testBasicRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicRawTypeOverride.kt"); + } + + @Test + @TestMetadata("basicWilcardsOverride.kt") + public void testBasicWilcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/basicWilcardsOverride.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnComplexHierarchy.kt") + public void testGenericMethodOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJJ.kt") + public void testGenericMethodOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("genericMethodOverrideOnKJK.kt") + public void testGenericMethodOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericMethodOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnComplexHierarchy.kt") + public void testGenericWithBoundsOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJJ.kt") + public void testGenericWithBoundsOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJJ.kt"); + } + + @Test + @TestMetadata("genericWithBoundsOnKJK.kt") + public void testGenericWithBoundsOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/genericWithBoundsOnKJK.kt"); + } + + @Test + @TestMetadata("intersectionGenericMethodOverride.kt") + public void testIntersectionGenericMethodOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericMethodOverride.kt"); + } + + @Test + @TestMetadata("intersectionGenericWithBoundsOverride.kt") + public void testIntersectionGenericWithBoundsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionGenericWithBoundsOverride.kt"); + } + + @Test + @TestMetadata("intersectionRawTypeOverride.kt") + public void testIntersectionRawTypeOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionRawTypeOverride.kt"); + } + + @Test + @TestMetadata("intersectionWildcardsOverride.kt") + public void testIntersectionWildcardsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/intersectionWildcardsOverride.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnComplexHierarchy.kt") + public void testRawTypeOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("rawTypeOverrideOnKJJ.kt") + public void testRawTypeOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/rawTypeOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnComplexHierarchy.kt") + public void testWildcardsOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJJ.kt") + public void testWildcardsOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("wildcardsOverrideOnKJK.kt") + public void testWildcardsOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/generics/wildcardsOverrideOnKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJ.kt") + public void testGetterSetterOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideOnKJK.kt") + public void testGetterSetterOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("getterSetterOverrideonComplexHierarchy.kt") + public void testGetterSetterOverrideonComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOverrideonComplexHierarchy.kt"); + } + + @Test + @TestMetadata("getterSetterOvverideOnKJJ.kt") + public void testGetterSetterOvverideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverideOnKJJ.kt"); + } + + @Test + @TestMetadata("getterSetterOvverrideOnKJKJ.kt") + public void testGetterSetterOvverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/getterSetterOvverrideOnKJKJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideForGetterSetter.kt") + public void testIntersectionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt"); + } + + @Test + @TestMetadata("substitutionOverrideForGetterSetter.kt") + public void testSubstitutionOverrideForGetterSetter() { + runTest("compiler/testData/ir/irText/fakeOverrides/gettersetter/substitutionOverrideForGetterSetter.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJJ.kt") + public void testSequenceCollectionIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceCollectionIntersectionOverrideKJK.kt") + public void testSequenceCollectionIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceCollectionOverride.kt") + public void testSequenceCollectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapIntersectionOverrideKJJ.kt") + public void testSequenceMapIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceMapOverride.kt") + public void testSequenceMapOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverride.kt"); + } + + @Test + @TestMetadata("sequenceMapOverrideKJ.kt") + public void testSequenceMapOverrideKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceMapOverrideKJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJJ.kt") + public void testSequenceSetIntersectionOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJJ.kt"); + } + + @Test + @TestMetadata("sequenceSetIntersectionOverrideKJK.kt") + public void testSequenceSetIntersectionOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetIntersectionOverrideKJK.kt"); + } + + @Test + @TestMetadata("sequenceSetOverride.kt") + public void testSequenceSetOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/java21/sequenceSetOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJJ.kt") + public void testIntersectionOverrideOnStaticKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJJ.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnStaticKJK.kt") + public void testIntersectionOverrideOnStaticKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionOverrideOnStaticKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnComplexHierarchy.kt") + public void testStaticOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJ.kt") + public void testStaticOverrideOnKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJJ.kt") + public void testStaticOverrideOnKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJJ.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJK.kt") + public void testStaticOverrideOnKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJK.kt"); + } + + @Test + @TestMetadata("staticOverrideOnKJKJ.kt") + public void testStaticOverrideOnKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/javastatic/staticOverrideOnKJKJ.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("kotlinExtensionsOverride.kt") + public void testKotlinExtensionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/kotlinExtensionsOverride.kt"); + } + + @Test + @TestMetadata("memberExtensionOverride.kt") + public void testMemberExtensionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/kotlinextensions/memberExtensionOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaModifiersOverride.kt") + public void testBasicJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinModifiersOverride.kt") + public void testBasicKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/basicKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaModifiersOverride.kt") + public void testIntersectionJavaModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionJavaModifiersOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinModifiersOverride.kt") + public void testIntersectionKotlinModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/intersectionKotlinModifiersOverride.kt"); + } + + @Test + @TestMetadata("kotlinFunParamModifiersOverride.kt") + public void testKotlinFunParamModifiersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodmodifiers/kotlinFunParamModifiersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicJavaThisOverride.kt") + public void testBasicJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicJavaThisOverride.kt"); + } + + @Test + @TestMetadata("basicKotlinDefaultParametersOverride.kt") + public void testBasicKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/basicKotlinDefaultParametersOverride.kt"); + } + + @Test + @TestMetadata("intersectionJavaThisOverride.kt") + public void testIntersectionJavaThisOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionJavaThisOverride.kt"); + } + + @Test + @TestMetadata("intersectionKotlinDefaultParametersOverride.kt") + public void testIntersectionKotlinDefaultParametersOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/methodparameters/intersectionKotlinDefaultParametersOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("javaNumberOverride.kt") + public void testJavaNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/javaNumberOverride.kt"); + } + + @Test + @TestMetadata("kotlinNumberOverride.kt") + public void testKotlinNumberOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/number/kotlinNumberOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicOperatorsOverride.kt") + public void testBasicOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOperatorsOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOperatorsOverride.kt") + public void testIntersectionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/intersectionOperatorsOverride.kt"); + } + + @Test + @TestMetadata("substitutionOperatorsOverride.kt") + public void testSubstitutionOperatorsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/operators/substitutionOperatorsOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicCollectionOverrideOnComplexHierarchy.kt") + public void testBasicCollectionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("basicCollectionsOverride.kt") + public void testBasicCollectionsOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicCollectionsOverride.kt"); + } + + @Test + @TestMetadata("basicOverride.kt") + public void testBasicOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverride.kt"); + } + + @Test + @TestMetadata("basicOverrideOnComplexHierarchy.kt") + public void testBasicOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/basicOverrideOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("combinationExplicitImlicitOverride.kt") + public void testCombinationExplicitImlicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/combinationExplicitImlicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnComplexHierarchy.kt") + public void testIntersectionOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionOverride.kt") + public void testIntersectionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverride.kt"); + } + + @Test + @TestMetadata("intersectionOverrideOnCollections.kt") + public void testIntersectionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("intersectionWithExplicitOverride.kt") + public void testIntersectionWithExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericExplicitOverride.kt") + public void testIntersectionWithGenericExplicitOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericExplicitOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnComplexHierarchy.kt") + public void testIntersectionWithGenericOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOnComplexHierarchy.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOverride.kt") + public void testIntersectionWithGenericOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/intersectionWithGenericOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverride.kt") + public void testSubstitutionOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverride.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnCollections.kt") + public void testSubstitutionOverrideOnCollections() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnCollections.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnComplexHierarchy.kt") + public void testSubstitutionOverrideOnComplexHierarchy() { + runTest("compiler/testData/ir/irText/fakeOverrides/platformtypes/substitutionOverrideOnComplexHierarchy.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("baseOverrideOnNothing.kt") + public void testBaseOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/baseOverrideOnNothing.kt"); + } + + @Test + @TestMetadata("intersectionOverrrideOnNothing.kt") + public void testIntersectionOverrrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/intersectionOverrrideOnNothing.kt"); + } + + @Test + @TestMetadata("substitutionOverrideOnNothing.kt") + public void testSubstitutionOverrideOnNothing() { + runTest("compiler/testData/ir/irText/fakeOverrides/typenothing/substitutionOverrideOnNothing.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVarargOverride.kt") + public void testBasicVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/basicVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionOnVarargOverride.kt") + public void testIntersectionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionOnVarargOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithGenericOnVarargOverride.kt") + public void testIntersectionWithGenericOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/intersectionWithGenericOnVarargOverride.kt"); + } + + @Test + @TestMetadata("substitutionOnVarargOverride.kt") + public void testSubstitutionOnVarargOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/vararg/substitutionOnVarargOverride.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJ.kt") + public void testAllPropertiesAndMethodsKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJJ.kt") + public void testAllPropertiesAndMethodsKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJK.kt") + public void testAllPropertiesAndMethodsKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJK.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsKJKJ.kt") + public void testAllPropertiesAndMethodsKJKJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsKJKJ.kt"); + } + + @Test + @TestMetadata("allPropertiesAndMethodsWithSeparateModuleKJJ.kt") + public void testAllPropertiesAndMethodsWithSeparateModuleKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/allPropertiesAndMethodsWithSeparateModuleKJJ.kt"); + } + + @Test + @TestMetadata("internalOverrideCrossModule.kt") + public void testInternalOverrideCrossModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideCrossModule.kt"); + } + + @Test + @TestMetadata("internalOverrideWithFriendModule.kt") + public void testInternalOverrideWithFriendModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalOverrideWithFriendModule.kt"); + } + + @Test + @TestMetadata("internalWithPublishedApiOverride.kt") + public void testInternalWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/internalWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJJ.kt") + public void testIntersectionVisibilityOverrideKJJ() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJJ.kt"); + } + + @Test + @TestMetadata("intersectionVisibilityOverrideKJK.kt") + public void testIntersectionVisibilityOverrideKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionVisibilityOverrideKJK.kt"); + } + + @Test + @TestMetadata("intersectionWithPublishedApiOverride.kt") + public void testIntersectionWithPublishedApiOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithPublishedApiOverride.kt"); + } + + @Test + @TestMetadata("intersectionWithSeparateModule.kt") + public void testIntersectionWithSeparateModule() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/intersectionWithSeparateModule.kt"); + } + + @Test + @TestMetadata("overrideKotlinMethodsKJKK.kt") + public void testOverrideKotlinMethodsKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideKotlinMethodsKJKK.kt"); + } + + @Test + @TestMetadata("overridePropertiesKJKK.kt") + public void testOverridePropertiesKJKK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overridePropertiesKJKK.kt"); + } + + @Test + @TestMetadata("overrideSetAndGetKJK.kt") + public void testOverrideSetAndGetKJK() { + runTest("compiler/testData/ir/irText/fakeOverrides/visibility/overrideSetAndGetKJK.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("basicVoidOverride.kt") + public void testBasicVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/basicVoidOverride.kt"); + } + + @Test + @TestMetadata("intersectionVoidOverride.kt") + public void testIntersectionVoidOverride() { + runTest("compiler/testData/ir/irText/fakeOverrides/void/intersectionVoidOverride.kt"); + } + } } @Nested diff --git a/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java index 5ab5e70eb04..9f103cfa3a3 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/klib/KlibIrTextTestCaseGenerated.java @@ -2103,6 +2103,305 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase { public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Annotations extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Charsequence extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Collections extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class List extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Map extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Set extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Dataclass extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Enum extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Fieldmodifiers extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Generics extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Gettersetter extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Java21 extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Javastatic extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Kotlinextensions extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Methodmodifiers extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Methodparameters extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Number extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Operators extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Platformtypes extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Typenothing extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Vararg extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Visibility extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Void extends AbstractKlibIrTextTestCase { + private void runTest(String testDataFilePath) { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JS_IR, testDataFilePath, "// IGNORE_BACKEND_KLIB: "); + } + + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } } @TestMetadata("compiler/testData/ir/irText/firProblems") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java index 2112baa48d0..14912ccb9ff 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirLightTreeJsIrTextTestGenerated.java @@ -2361,6 +2361,236 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java index 38ae05a6a20..4f23470a22c 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirPsiJsIrTextTestGenerated.java @@ -2361,6 +2361,236 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest { public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java index d2e790bb09c..146344871a4 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/ClassicJsIrTextTestGenerated.java @@ -2361,6 +2361,236 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest { public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java index 647019e438b..9b7ba0548f3 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/ClassicNativeIrTextTestGenerated.java @@ -2367,6 +2367,236 @@ public class ClassicNativeIrTextTestGenerated extends AbstractClassicNativeIrTex public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java index 1c509ed7b0c..6b7e5150864 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirLightTreeNativeIrTextTestGenerated.java @@ -2367,6 +2367,236 @@ public class FirLightTreeNativeIrTextTestGenerated extends AbstractFirLightTreeN public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java index fa47b56a916..61317df5c2d 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/irtext/FirPsiNativeIrTextTestGenerated.java @@ -2367,6 +2367,236 @@ public class FirPsiNativeIrTextTestGenerated extends AbstractFirPsiNativeIrTextT public void testSetterVisibliity() { runTest("compiler/testData/ir/irText/fakeOverrides/setterVisibliity.kt"); } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/annotations") + @TestDataPath("$PROJECT_ROOT") + public class Annotations { + @Test + public void testAllFilesPresentInAnnotations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/annotations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/charsequence") + @TestDataPath("$PROJECT_ROOT") + public class Charsequence { + @Test + public void testAllFilesPresentInCharsequence() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/charsequence"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/list") + @TestDataPath("$PROJECT_ROOT") + public class List { + @Test + public void testAllFilesPresentInList() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/list"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/map") + @TestDataPath("$PROJECT_ROOT") + public class Map { + @Test + public void testAllFilesPresentInMap() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/map"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/collections/set") + @TestDataPath("$PROJECT_ROOT") + public class Set { + @Test + public void testAllFilesPresentInSet() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/collections/set"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/dataclass") + @TestDataPath("$PROJECT_ROOT") + public class Dataclass { + @Test + public void testAllFilesPresentInDataclass() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/dataclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/enum") + @TestDataPath("$PROJECT_ROOT") + public class Enum { + @Test + public void testAllFilesPresentInEnum() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Fieldmodifiers { + @Test + public void testAllFilesPresentInFieldmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/fieldmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/generics") + @TestDataPath("$PROJECT_ROOT") + public class Generics { + @Test + public void testAllFilesPresentInGenerics() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/generics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/gettersetter") + @TestDataPath("$PROJECT_ROOT") + public class Gettersetter { + @Test + public void testAllFilesPresentInGettersetter() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/gettersetter"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/java21") + @TestDataPath("$PROJECT_ROOT") + public class Java21 { + @Test + public void testAllFilesPresentInJava21() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/java21"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/javastatic") + @TestDataPath("$PROJECT_ROOT") + public class Javastatic { + @Test + public void testAllFilesPresentInJavastatic() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/javastatic"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/kotlinextensions") + @TestDataPath("$PROJECT_ROOT") + public class Kotlinextensions { + @Test + public void testAllFilesPresentInKotlinextensions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/kotlinextensions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodmodifiers") + @TestDataPath("$PROJECT_ROOT") + public class Methodmodifiers { + @Test + public void testAllFilesPresentInMethodmodifiers() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodmodifiers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/methodparameters") + @TestDataPath("$PROJECT_ROOT") + public class Methodparameters { + @Test + public void testAllFilesPresentInMethodparameters() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/methodparameters"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/number") + @TestDataPath("$PROJECT_ROOT") + public class Number { + @Test + public void testAllFilesPresentInNumber() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/number"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/operators") + @TestDataPath("$PROJECT_ROOT") + public class Operators { + @Test + public void testAllFilesPresentInOperators() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/operators"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/platformtypes") + @TestDataPath("$PROJECT_ROOT") + public class Platformtypes { + @Test + public void testAllFilesPresentInPlatformtypes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/platformtypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/typenothing") + @TestDataPath("$PROJECT_ROOT") + public class Typenothing { + @Test + public void testAllFilesPresentInTypenothing() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/typenothing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/vararg") + @TestDataPath("$PROJECT_ROOT") + public class Vararg { + @Test + public void testAllFilesPresentInVararg() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/vararg"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/visibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + + @Nested + @TestMetadata("compiler/testData/ir/irText/fakeOverrides/void") + @TestDataPath("$PROJECT_ROOT") + public class Void { + @Test + public void testAllFilesPresentInVoid() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText/fakeOverrides/void"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } } @Nested